17-06-2006, 14:29
|
|
|
חבר מתאריך: 27.04.05
הודעות: 441
|
|
בעייה עם קוד אבטחה (GD)
בניתי קוד אבטחה הכול פועל מצויין עד הקטע שאני מנסה לקחת את הקוד הזה ולקבל אותו בעמוד אחר .
אז קראתי פה אשכולות של אנשים אחרים וראיתי את הפתרון שאתם מציעים סשנים , אחלה עשיתי סשנים אבל אז נוצרה בעייה חדשה
ברגע שאני נכנס בפעם הראשונה לעמוד אין סשן זאת אומרת שאין את הקוד אבל אחרי ריפרש אחד נוצר דיליי בין הקוד בתמונה לקוד שאני מקבל בסשן הכוונה היא הנה העמוד פתוח יש קוד מסויים בתמונה ויש קוד מסויים בסשן ( הם אמורים להיות אותו דבר , אבל הם לא ) אחרי ריפרש הקוד שהיה בתמונה נהיה הקוד בסשן ובתמונה יש קוד חדש .
עכשיו הנה הקודים והדוגמות : http://crazy.mustkey.net/signup.php - הטופס שבו הכול אמור לפעול (הקוד שמודפס למעלה זה רק לצורכי בדיקה זה הקוד שמופיע בסשן)
הקוד של העמוד הזה :
קוד PHP:
<?php session_start(); include("db.php"); $user = $_POST['user']; $password = $_POST['password']; $email = $_POST['email']; $code = $_POST['code']; session_is_registered(num); echo "$num"; if (isset ($user , $password , $emil) & $code == $num ){ $in = " INSERT INTO `signup` (user,password,email) VALUES('$user' , '$password' , '$email')"; mysql_query($in); } else { echo ""; } ?> <html dir="rtl"> <head> <style type="text/css"> .dashed { border-style: dashed; border-width:1px } </style> </head> <body > <form action="" method="POST"> <table class="dashed"> <tr> <td>User Name : </td> <td><input type="text" size="20" name="user"></td> </tr> <tr> <td>PassWord :</td> <td><input type="password" size="20" name="password"></td> </tr> <tr> <tr> <td>Email : </td> <td><input type="text" size="20" name="email"></td> </tr> <td>Code :</td> <td><input type="text" size="20" name="code"></td> </tr> <tr> <td></td> <td><img src="gd.php" alt="image" /></td> </tr> <tr> <td></td> <td><input type="submit" name="submit" value="submit"></td> </tr> </table> </form> </body> </html>
והקוד של העמוד שיוצר את התמונה :
קוד PHP:
<?php session_start() ; header("Content-type: image/png"); function randomkeys($length) { $pattern = "1234567890abcdefghijklmnopqrstuvwxyz"; for($i=0;$i<$length;$i++) { $key .= $pattern{rand(0,35)}; } return $key; } session_register(num); $num = randomkeys(8); $im = imagecreatefrompng("big.png"); $white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF); imagestring($im, 20, 40,9, $num, $white); imagepng($im); imagedestroy($im); ?>
מקווה שהבנתם את הבעייה
|