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

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

Ori The Man 10-11-05 20:56

ניסיון הכנת היתחברות
 
אני מנסה לעשות התחברות ב md5 אבל משום מה זה לא עושה טוב
אני הכנתי ב phpmyadmin לטבלה שם משתמד וסיסמא ב md5 (רק הסיסמא ב md5) אבל זה רושים לי כל הזמן bad
הינה הקוד

PHP קוד:

$username $_POST['user'];
$password $_POST['pass'];

//md5
$mdpass md5($password);

//check
$result=mysql_query("SELECT * FROM admins WHERE user = '$user' AND pass = '$mdpass'");
if (!
$result)
die(
"ERROR: error occured in MySQL query.");

if (
$username == $user && $mdpass == $pass)
{
echo 
"good";
}
else
{
echo 
"bad";



Espire 10-11-05 21:24

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

$username $_POST['user'];
$password $_POST['pass'];

//md5
$mdpass md5($password);

//check
$result=mysql_query("SELECT * FROM admins WHERE user = '$user' AND pass = '$password'");
if (!
$result)
die(
"ERROR: error occured in MySQL query.");

if (
$username == $user && $mdpass == $pass)
{
echo 
"good";
}
else
{
echo 
"bad";



Ori The Man 10-11-05 21:27

עדיין

WebProject 10-11-05 21:33

ערב טוב,

אנא נסה את הקוד הבא:

PHP קוד:

$username $_POST['user']; 
$password $_POST['pass']; 

//md5,sha1 passwrod
$mdpass md5(sha1($password)); 

// sql query, checking username and password
$sql mysql_query("SELECT * FROM admins WHERE user = '$username' AND pass = '$mdpass'") or die (mysql_error()); 

if(
mysql_num_rows($sql) == 1){ // if there is only one user matching the result, the login procress is OK else Filed
       // Login Procress OK

else 

       
//Login Procress Filed


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

שים לב, ששמתי לך שני סוגי הצפנות שפועלות על הסיסמא, גם הצפנה md5, וגם הצפנת sha1, על מנת לספק אבטחה גבוהה יותר, והכבדת הקושי בפריצה.


קישורים שימושיים:

mysql_num_rows
sha1



מקווה מאוד שעזר לך, טל.

Espire 10-11-05 21:34

איזה סתומים אנחנו חחח תראה איפה שהתנאי באזור השם משתמש זה משווה לערך שלא קיים זה צריך להיות $username ולא $user

WebProject 10-11-05 21:35

ציטוט:

נכתב במקור על ידי Espire
איזה סתומים אנחנו חחח תראה איפה שהתנאי באזור השם משתמש זה משווה לערך שלא קיים זה צריך להיות $username ולא $user

דבר בשם עצמך :)

Ori The Man 10-11-05 22:00

הוא עזר לי בפרטי
תודה רבה רבה!!

WebProject 10-11-05 22:05

ציטוט:

נכתב במקור על ידי Ori The Man
הוא עזר לי בפרטי
תודה רבה רבה!!

אין בעד מה ;)

Ikki 12-11-05 22:20

1. אורי צודק זה $username לא $user .
2. צריך להשתמש ב mysql_num_rows() על מנת לוודא שהשורה קיימת.

WebProject 12-11-05 22:24

וזה בדיוק מה שהסברנו כולנו לו, לא? אני לא מבין מה הצורך להגיב ככה לאחר יומיים.


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

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