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

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

x-ray 03-01-06 17:12

בעיה עם MD5
 
עמוד הרשמה

PHP קוד:

<?      
    
    $pass
=$_POST['pass'];
    
$user=$_POST['user'];
         include(
'db.php');
    if(
$user==true && $pass==true){  
           
$query =mysql_query("SELECT * FROM sign WHERE user='{$user}'") or die(mysql_error());
                  if(
mysql_num_rows($query)>0) echo "<dir dir=\"rtl\" align=\"center\"> מצטערים אך שם המשתמש כבר תפוס<br>
                  <a href=\"javascript:history.back(1)\">לחצו כאן על מנת לחזור אחורה</a>  "
;
                   else{    
                          
                           
$pass=MD5($pass);
                           
mysql_query("INSERT INTO `sign` (id,pass,user) VALUES ('NULL','$pass','$user')");
                           echo 
"נרשמת בהצלחה";
                        }
}
        else echo
"לא כל הפרטים הוכנסו";
        
     
?>

למה זה מצפין לי בכולם את אותה ההצפנה,גם כאשר עשיתי
MD5=("$pass")
MD5=('$pass')

כאשר אני מצפין אני מקבל את אותה ההצפנה כאילו הוא מצפין את הביטוי פאסס ולא את המשתנה...

שקד 03-01-06 17:13

להגיד לך את האמת ?
לא הבנתי את השאלה :S

x-ray 03-01-06 17:14

הMD5 מצפין לי תמיד אותו דבר,לא משתנה מה מכיל המשתנה,כאילו הוא מצפין את המילה
pass$

ולא את מה שהמשתנה מכיל

A.M.F 03-01-06 18:49

הממ.. נראה לי אבל אני לא בטוח, שזה בגלל שההצפנה נמצאת בif. תנסה לשים את ה-
קוד:

$pass = $_POST..
בתוך הIF או שאת ההצפנה תוציא מהIF

אבל אני לא בטוח בזה X=

meshuga 03-01-06 18:53

הניסוח שלך ממש לא ברור....תן דוגמאות פלט..

Deagly 03-01-06 18:55

PHP קוד:

MD5=("$pass")
MD5=('$pass'

ככה לא משתמשים ב md5 !
ככה משתמשים:
PHP קוד:

$pass "12345";
$pass md5($pass); 


liorwohl 03-01-06 18:56

כי לא עושים ככה
$pass = md5($pass);

Deagly לא ראיתי שהגבתה ..

Ori The Man 03-01-06 18:56

נסה את זה
PHP קוד:

<?       
     
    $password
=$_POST['pass'];
    
$pass=md5($password);
    
$user=$_POST['user']; 
         include(
'db.php'); 
    if(
$user==true && $pass==true){   
           
$query =mysql_query("SELECT * FROM sign WHERE user='{$user}'") or die(mysql_error()); 
                  if(
mysql_num_rows($query)>0) echo "<dir dir=\"rtl\" align=\"center\"> מצטערים אך שם המשתמש כבר תפוס<br> 
                  <a href=\"javascript:history.back(1)\">לחצו כאן על מנת לחזור אחורה</a>  "

                   else{     
                           

                           
mysql_query("INSERT INTO `sign` (id,pass,user) VALUES ('NULL','$pass','$user')"); 
                           echo 
"נרשמת בהצלחה"
                        } 

        else echo
"לא כל הפרטים הוכנסו"
         
     
?>


meshuga 03-01-06 18:57

ציטוט:

נכתב במקור על ידי liorwohl
כי לא עושים ככה
$pass = md5($pass);

Deagly לא ראיתי שהגבתה ..

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

omaniusd 03-01-06 20:19

ציטוט:

נכתב במקור על ידי meshuga
מה שכתבת נכון...וגם מה שהוא..אלא אם כן יש רגישות אותיות גדולות,אבל לא בדקתי את זה בPHP אני יודע שבC זה קיים..

הבעייה היא, שאתה תחמת את $pass במרכאות, משמע, הוא מתייחס לזה כתו רגיל...
כזה יהיה בלי מרכאות, אז זה יהיה ייחוס למשתנה.


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

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