רוצה לעזור?
אם אתה מעוניין לעזור לנו בפיתוח האתר, באפשרותך לשלוח מאמר\מדריך אל רשימות המאמרים שלנו, תודה על שיתוף הפעולה, הנהלת האתר.
|
|
דף ראשי -> תכנות ובניית אתרים -> תיכנות ובניית אתרים בעזרת PHP -> ניווט אתר בעזרת include ו-switch ואבטחה
|
| ניווט אתר בעזרת include ו-switch ואבטחה |
|
|
איך זה עובד?
בסקריפט הבא אנו משתמשים ב- include שאמור לייבא את הקובץ, ב- switch שאמור לבדוק לנו איזה קובץ אנו צריכים לייבא וגם במשתנה הגלובאלי $_GET כדי להעביר מידע דרך ה-URL.
שים לב לקוד הבא, בצורה הבאה זה יעבוד.
|
קוד
|
<?php
$page = htmlspecialchars($_GET['page']);
switch($page) // Gets the variable
{
case 'gamelist';
include_once "games.php";
break;
case 'about':
include_once 'about.php';
break;
case 'forums':
include_once 'forum.php';
break;
default:
include "index.php";
break;
}
?>
|
בשורה הראשונה אנחנו לוקחים את המידע שנשלח ב-URL בעזרת המשתנה הגלובאלי $_GET וגם אנחנו צריכים לאבטח את המשתנה כדי שהמשתמש לא יכניס אליו מידע מסוכן ויפגע באתר שלנו. אנחנו נאבטח את המשתנה בעזרת הפונקציה htmlspecialchars הפונקציה הזו מונעת מתווים מיוחדים לפגוע במערכת שלנו במידה ואנחנו עושים את הניווט על ידי מספרים ואנחנו יודעים שאנו נקבל רק מספרים דרך המשתנה הגלובאלי $_GET אז אנחנו נעשה את הקוד הבא כאמצעי אבטחה.
|
קוד
|
$page = (int) $_GET['page'];
|
הקוד שכתוב בצורה הזו מכריח את המידע שבמשתנה הגלובאלי $_GET להיות מספר, זה רץ על כל הסטרינג תוו אחר תוו ושומר אותו עד שהתוו הוא לא מספר.
לדוגמא אם הכנסתם את זה 234kk43 למשתנה, אז המספר שישאר מפה יהיה 234 וזהו.
זה לא רלוונטי לכרגע אבל חשוב לדעת.
אז מה קורה בהמשך הסקריפט?
פשוט מאוד אנחנו לוקחים את המידע שנכנס ב-URL בצורה הזו:
http://www.themador.org/?page=pagename
ואז מאבטחים אותו ואז בודיקם לאיזה מהדפים שיש באתר שלנו הוא שייך, לדוגמא הURL הבא
http://www.themador.org/?page=about
הכתובת הזו תייבא לנו את הקובץ about.php בעזרת הפונקציה include_once.
אז איך ניתן למשתמש קישור לדף בשיטה המיוחדת הזו? ראו את הקוד הבא
זה קישור HTML פשוט מאוד רק כתוב קצת שונה ועפ סימן שאלה שאותו אסור לשכוח אחרת זה לא יעבוד.
עכשיו סוף הסקריפט נגמר עם השורה הזו default: זה בעצם אומר שבמקרה והמשתנה לא מתאים לאף אחד מהתנאים למעלה אז תציג כברירת מחדל את הקובץ index.php.
זהו זה! את הסקריפט למעלה אפשר לשמור בתור index.php וגם אפשר להכפיל את שורת הקוד הזו ולהכפיל כמה פעמים שתרצו כמספר הדפים באתרך.
|
קוד
|
case 'forums':
include_once 'forum.php';
break;
|
הסקריפט הזה מאפשר לנו לשלוט בכמה דברים בזמן גלישתו של המשתמש ואחד מהם זה שבמקום שהכתובת תראה כך:
http://www.themador.org/about.php
זה נראה כך:
http://www.themador.org/?page=about
וזה עוזר לנו במקרה שנרצה לשנות את שם הקובץ הזה
http://www.themador.org/about.php
בשיטה המיוחדת לא נצטרך לערוך את הקישורים באתר בכדי שזה יעבוד - אלא פשוט לערוך פעם אחת את הניווט שאליו הקישור מוביל זאת אומרת את
|
קוד
|
case 'about':
include_once 'about.php';
break;
|
נוכל לשנות את include_once למשהו אחר. |
| דפים נוספים בקטגוריה תיכנות ובניית אתרים בעזרת PHP |
קבלת נתונים מטפסים ואבטחה
שימוש ב- sessions
איך לבדוק את פורמט האימייל בPHP
|
| עיזרו לנו |
|
אהבת את המדריך? הצבע עבורנו וקדם את האתר שלנו!
|
|