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

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

syn 20-04-07 21:55

כן, ה session מדפיס את הקוד.
אבל הוא מתחלף עם כל רענון של דף :|

smilie 20-04-07 21:58

תנסה שזה ישמור אותו..

syn 20-04-07 22:06

מה זאת אומרת?
כשאני שאני עושה -
PHP קוד:

$_SESSION['image'] = $string

זה לא שומר את המשתנה בסיסשן?

עריכה: אוקיי עכשיו הגעתי לזה שהקוד שהמשתמש מקליד נשמר ב session,
והוא בודק אם זה נכון והכל, וזה עובד (הייתה בעיה ב input של הקוד).

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

Eran-s 20-04-07 22:39

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

syn 20-04-07 22:47

ציטוט:

נכתב במקור על ידי Eran-s (פרסם 463386)
בשביל מה להתעסק בלמחוק אותו? גם ככה הוא יוחלף בתוכן אחר אם ירעננו או משהו או ימחק כשיסגרו את הדפדפן.

אם אני לא מוחק אותו אז אחרי שהמשתמש לוחץ submit הקוד מספיק להתחלף ואז זה יראה לו שגיאה.

בסוף הגעתי לקוד -
PHP קוד:

<?
session_start
();

    if(
$_POST['action']=="doedit"){
    
$kod $_POST['kod'];
        if (
$_SESSION['image'] == $kod)
            echo 
"good";
            else
            echo 
"bad";
    } else {
            
$_SESSION = array();
            
session_destroy();
    }

    if (!isset(
$_SESSION['image'])) {
        
$string rand 11111,99999 ) ;
        
$string str_replace '2''F'$string ) ;
        
$string str_replace '6''e'$string ) ;
        
$string str_replace '1''X'$string ) ; 
        
$string str_replace '7''D'$string ) ; 
        
$string str_replace '4''h'$string ) ; 
    } else {
        
$string = ($_SESSION['image']);
    }
    
    if (empty(
$_SESSION['image'])) {
        
$_SESSION['image'] = $string;
    } else {
        echo 
"";
    }

    echo 
"<img src='test.php?code=$string' /><br />Code: $string<br /><br />";
    echo 
$_SESSION['image'];
    
    echo 
'<form action="hi.php" method="POST"><br />enter code pl0x<br /><input type="text" name="kod" size="50" value=><input type="submit" value="gogogo" /><input type="hidden" name="action" value="doedit" /></form>';
?>

זה יוצר סטרינג רנדומלי, וברגע שמשתמש לוחץ על submit הוא מתחלף, אבל אחרי שהמשתמש מנסה פעם שניה (עם סטרינג אחר כבר), הכל עובד פיקס.
אין לי שמץ של מושג מה לא בסדר איתו,
עכשיו צריך רק לסדר שהסטרינג לא יתחלף אחרי ה submit.

Eran-s 20-04-07 22:53

תעשה שיכנס לסשיין ערך חדש רק אם לא בוצע POST

syn 20-04-07 23:00

אבל אני עושה destroy אם לא בוצע POST,
כדי שהסטרינג ימשיך להתחלף עד שכן יבוצע POST..


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

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