הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] אפשר לעשות goto בPHP, האם זה יכול לעבור בלוקים? (https://hosts.co.il/forums/showthread.php?t=61718)

RS324 08-04-08 22:23

אתה אמור לעשות משהו בסגנון הזה

יותר פשוט מזה אני לא חושב שיש

אתה מגדיר פעולות ומגדיר למערכת איזה קובץ למשוך בהתאם לפעולה...

PHP קוד:


<a href="index.php?goto=home">go to your home page</a>

<?php


$goto 
$_REQUEST['goto'];

switch (
$goto)
{
    case 
'home':
        require_once(
'./home.php');
    break;
    
    case 
'friend_home':
        require_once(
'./myfriendhomefile.php');
    break;
    
    default:
        
// none of the above catched
        
require_once('./defaultpage.php');
    break;
    
}


?>


Shawnz 08-04-08 22:35

אוקיי תודה אני חושב שזה יעבוד. אבל אני חייב לשאול, אין בדרך הזאת בעיות אבטחה?

BlueNosE 08-04-08 22:39

לא, מכיוון שאתה עובד עם מחרוזת ידועה, כלומר: אם מישהו יכתוב EXPLOIT במחרוזת ששלחו לך, הוא לא יעבוד, מכיוון שלא ימצא CASE מתאים והSWITCH יפנה לDEFAULT.

RS324 08-04-08 23:00

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 622173)
לא, מכיוון שאתה עובד עם מחרוזת ידועה, כלומר: אם מישהו יכתוב EXPLOIT במחרוזת ששלחו לך, הוא לא יעבוד, מכיוון שלא ימצא CASE מתאים והSWITCH יפנה לDEFAULT.

שים לב שזה תקף רק למחרוזת של ה GOTO

ה SWITCH משווה אותה למחרוזות ידעות מראש
במקרה של הדוגמא : home ו friend_home

אם המחרוזת היא לא אותו הדבר ה SWITCH יילך לברירת מחדל שלו

אותו דבר תקף גם אם מישהו הכניס משהו שלא קיים לדוגמא BLABLA אז ה SWITCH יטען את הברירת מחדל

לגבי משתנים אחרים אין קשר ואתה צריך להגן עליהם בדרכים המקובלות.

mayden 08-04-08 23:57

ציטוט:

נכתב במקור על ידי RS324 (פרסם 622163)
אתה אמור לעשות משהו בסגנון הזה

יותר פשוט מזה אני לא חושב שיש

אתה מגדיר פעולות ומגדיר למערכת איזה קובץ למשוך בהתאם לפעולה...

PHP קוד:

 
 
 
$goto 
$_REQUEST['goto']; 



לא קשור לנושא השאלה,
אבל מה ההבדל בין REQUEST וGET? למה לא רשמת GET?

תודה.

Shon12 09-04-08 00:10

ציטוט:

נכתב במקור על ידי mayden (פרסם 622181)
לא קשור לנושא השאלה,
אבל מה ההבדל בין REQUEST וGET? למה לא רשמת GET?

תודה.

REQUEST - הוא שילוב של POST\GET.
http://www.w3schools.com/PHP/php_get.asp


REQUEST = שילוב של GET ו POST ו SESSION

עניין של נוחות עבודה והרגלים...

לפעמים אני משנה ערכים של משתנים דרך ה SESSION ולא רק דרך ה GET במעברי דפים וכד'...


כל הזמנים הם GMT +2. הזמן כעת הוא 07:21.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ