ניווט אתר בעזרת include ו-switch ואבטחה - תיכנות ובניית אתרים בעזרת PHP

מדור תיכנות ובניית אתרים בעזרת PHP

הוסף למועדפים | הפוך לאתר הבית
מדור ברשת



רוצה לעזור?

אם אתה מעוניין לעזור לנו בפיתוח האתר, באפשרותך לשלוח מאמר\מדריך אל רשימות המאמרים שלנו, תודה על שיתוף הפעולה, הנהלת האתר.


אתרים מומלצים

מעוניינים לשחק משחקים ברשת , משחקי פלאש ועוד? בקרו באתרי משחקים הבאים: גיימאקסטרה משחקים או בבלוג המשחקים: משחקים ברשת. אוהבים הבורר? בואו לראות הבורר

דף ראשי -> תכנות ובניית אתרים -> תיכנות ובניית אתרים בעזרת 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
עיזרו לנו
אהבת את המדריך? הצבע עבורנו וקדם את האתר שלנו!