07-04-06, 07:39 | # 1 |
кто ты?
|
[מדריך] PHP - הגנה על דף באמצעות HTTP_AUTH
כמו תמיד, נתחיל עם הקוד ואז נפרט
רק שהפעם, יש דוגמא לצפיה: צפה בדוגמא PHP קוד:
בואו נתחיל לתת הסברים PHP קוד:
הפונקציה שתשמש אותנו רבות. מה שהיא בעצם עושה שלבקש מהדפדפן להקביץ חלון עם בקשה לשם משתמש וסיסמה. אם המשתמש לוחץ על CANCEL זה מציג לו הודעה בהתאם (ראה die(); ). PHP קוד:
אם אפשרות היציאה מופעל, צא, ובקש שם משתמש וסיסמה מחדש. אם לא הוקש שם משתמש או סיסמה, בקש אותם שוב. PHP קוד:
אם השם משתמש שווה ל- protected והסיסמה שווה ל- page הראה את התוכן המוסתר. (להלן: Im Protected Content) אם השם משתמש לא שווים למה שצוין, בקש אותם שוב. PHP קוד:
קטע היציאה, מותאם לרוב הדפדפנים. הקוד בצורה נוחה: קוד:
<? function auth_user() { $realm = "Protected Page"; header('WWW-Authenticate: Basic realm="['.$realm.'] ID:"'); header('HTTP/1.0 401 Unauthorized'); die("Unauthorized access forbidden!"); } if(isset($_GET['logout'])) { auth_user(); } if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { auth_user(); } if($_SERVER['PHP_AUTH_USER'] == "protected" && $_SERVER['PHP_AUTH_PW'] == "page") { echo "Im Protected Content<br />"; } else { auth_user(); } if($_SERVER['PHP_AUTH_USER'] == "logout") { // message for firefox die("You have successfully logged out."); } if (ereg("MSIE", $_SERVER['HTTP_USER_AGENT'])) { // Use basic logout echo "<a href=\"".$_SERVER['PHP_SELF']."?logout=y\">Logout</a>"; } else { // use other logout for Firefox and other browsers echo "<a href=\"http://logout:logout@". $_SERVER['SERVER_NAME']."/".$_SERVER['PHP_SELF']."\">Logout</a>"; } ?> *תודה לבניה על הרעיון. *כל הזכויות שמורות לקובלנקו איגור. תהנו! תגובות, שאלות, הערות יתקבלו בברכה. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
Tags |
אבטחה, מדריך למתקדמים, מדריך php |
כלים לאשכול | |
תצורת הצגה | |
|
|