עמוד:153

נצטרך להתמודד עם בעיה זו גם כאשר נרצה למנוע ממשתמש לא מורשה להיכנס לדפים מאובטחים – נעשה זאת באמצעות העצם . Session כדי לפתור את הבעיה , נשנה את הקובץ User . aspx ונוסיף משפט תנאי שיוודא שרק גולש שהזדהה יוכל לראות את הדף הזה . ניסיון גלישה ללא מתן פרטי הזדהות יחזיר את הגולש לדף של טופס ההתחברות . login . htm נבדוק שהגולש אכן הזדהה , כלומר ששמו וסיסמתו אינם מחרוזת ריקה . עם זאת , נשמור בSession- רק את שמו של הגולש . בדף User . aspx נשנה את האירוע : Page–Load () string password = Request . Form ] "password" [; Session ] "userName" [ = Request . Form ] "userName" [; { public void Page–Load () if (( string ) Session ] "userName" [ == "" || password == "") } Response . Redirect ( "login . htm" ); הריצו את הקובץ login . htm ושלחו טופס ריק . האם עברתם לדף השמור בקובץ ? user . aspx מובן שתשובתכם היא לאו . שנו עתה את כתובת הURL- בשורת הכתובת שבדפדפן וכתבו User . aspx ( במקום . ( Login . htm האם עברתם עתה לדף ? User . aspx אכן כן . כיצד נמנע אפוא ממשתמש המכיר את שם הדף מלהיכנס לדף שאינו מורשה לראותו ? בעת טעינת הדף ( האירוע ( Page–Load נבדוק שהמשתמש מזוהה , כלומר שהעצם Session בעבור שם המשתמש איננו . null לשם כך נוסיף לתנאי בדיקה נוספת . להלן האירוע Page–Load עם כל הבדיקות הדרושות : public void Page–Load () } אם שם המשתמש ריק , שלח את הגולש לדף הכניסה if (( Session ] "userName" [ == null ) || (( string ) Session ] "userName" [ == "" || password == "")) // Response . Redirect ( "Login . htm" ); אחזר שם משתמש Session ] "userName" [ = Request . Form ] "userName" [; // אחזר סיסמה string password = Request . Form ] "password" [; // אם שם משתמש ריק או if (( string ) Session ] "userName" [ == "" || password == "") // סיסמה ריקה //

מטח : המרכז לטכנולוגיה חינוכית


לצפייה מיטבית ורציפה בכותר