לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 03-07-2006, 02:55
  eXeCuT3 eXeCuT3 אינו מחובר  
 
חבר מתאריך: 30.06.06
הודעות: 185
בעיה עם מחיקת משתנים שנוצרו על ידי register_globals

אני מנסה למחוק את כל המשתנים ש register_globals יצר (שינוי ב php.ini לא מתאים לי במקרה הזה)
אז עשיתי משהו כזה
קוד PHP:
 if (ini_get('register_globals'))
    foreach(
$_REQUEST as $key => $value)
        if (isset($
$key))
            unset($
$key); 

הבעיה היא שאם מישהו יכנס ל
file.php?_GET=asd
זה ימחק לי את כל $_GET
או אם הוא יכנס ל
file.php?mysql_user=asd
זה ימחק את המשתנה הזה
וזה קצת בעייתי.
אז חשבתי לתת לזה רשימה של משתנים
קוד PHP:
 if (ini_get('register_globals')) {
    
$PMS_save_vars=array('PMS_save_vars''PMS_conf''PMS_conf_error''GLOBALS''argv''argc''_FILES''_COOKIE''_POST''_GET''_SERVER''_ENV''_SESSION');
    foreach(
$_REQUEST as $key => $value) {
        if (isset($
$key) && !in_array($key$PMS_save_vars))
            unset($
$key);
       }



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

אז חשבתי על
קוד PHP:
 if (ini_get('register_globals'))
    foreach(
$_REQUEST as $key => $value)
        if (isset($
$key) && $$key==$value)
            unset($
$key); 

שזה גם פתרון מאוד נחמד, בודק שיש להם אותו תוכן, מה שלמעשה אמור לבדוק שזה נוצר מה register_globals
הבעיה היא שזה יכול לשמש ל brute forcing, אם יודעים שיש משתנה בשם mysql_user
ינסו להיכנס ל
קוד:
file.php?mysql_user=root file.php?mysql_user=web file.php?mysql_user=site

עד שיראו שזה לא מצליח להתחבר לדאטאבייס, ואז הם ידעו שזה לא מצליח בגלל שהמשתנה המקורי מכיל את מה שהם שלחו והוא נמחק.
כנ"ל על הסיסמא


זהו, פה נגמרו לי הרעיונות...
אם יש למישהו רעיון יותר טוב, אני אשמח לשמוע
(נא לא להציע לי לכבות את register_globals - זה לא מתאים במקרה הזה)

נערך לאחרונה ע"י eXeCuT3 בתאריך 03-07-2006 בשעה 02:58.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 04:10

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר