Autor | Zpráva | ||
---|---|---|---|
ondrej16556 Profil |
#1 · Zasláno: 2. 2. 2010, 13:02:02
Nefunguje mi prihlásenie.
Keď som sa skúšal prihlásiť so správnym heslom vypísalo mi: Nesprávne heslo. Ale len čo som použil heslo z databáze v zašifrovanej podobe (md5) fungovalo mi to normálne, aj ma pustilo na stránku. Kód súboru login.php: <html> <head> <title>Storočná vojna > Registrácia</title> </head> <body bgcolor="#980000"> <?php include ("reklama.php"); ?> <table align="center" bgcolor="#FF0000" width="900px"> <tr bgcolor="#FF0000"> <?php include ("logo.php") ?> </tr> <tr bgcolor="#FF0000"> <?php include ("title.php") ?> </tr> <tr bgcolor="#FF0000" align="center"> <?php include ("menu.php") ?> </tr> <tr bgcolor="#FF0000"> <? setcookie('jmeno', '', time()); setcookie('heslo', '', time()); require "db.php"; // pripojime se k databazi $sql = "SELECT heslo FROM uzivatele WHERE jmeno='{$_REQUEST['jmeno']}'"; $vysledek = mysql_query($sql); if (!$vysledek): echo "Nepodarilo sa prihlásiť"; exit; endif; if(!mysql_num_rows($vysledek)): echo "Užívateľ nenájdený."; exit; else: if (mysql_result($vysledek, "heslo=md5(heslo)") != $_REQUEST['heslo']): echo "Nesprávne heslo."; exit; else: setcookie('jmeno', $_REQUEST['jmeno'], time()+3600); setcookie('heslo', $_REQUEST['heslo'], time()+3600); header ("Location: Dedina/index.php?page=uvod"); endif; endif; ?> </tr> </table> <div align="center" style="color:#888; font-size:12px;">Copyright © <a href="index.html" class="odkaz">rannystredovek.euweb.cz</a> Optimalizované pre IE 1440x900</div> </html> Poradili by ste mi prosím, v čom je chyba? |
||
AM_ Profil |
#2 · Zasláno: 2. 2. 2010, 13:04:46
ondrej16556:
„if (mysql_result($vysledek, "heslo=md5(heslo)") != $_REQUEST['heslo']):“ to je trošku nesmysl. Spíš to vede na zajímavou matematickou úlohu, jestli existuje řetězec, který by se rovnal svému md5 :) Správně je to takhle: if (mysql_result($vysledek, "heslo") != md5($_REQUEST['heslo'])): |
||
ondrej16556 Profil |
#3 · Zasláno: 2. 2. 2010, 13:07:53
Ďakujem, vyskúšam
|
||
ondrej16556 Profil |
#4 · Zasláno: 2. 2. 2010, 13:24:26
Aj tak mi ukazuje tú istú chybu
|
||
AM_ Profil |
#5 · Zasláno: 2. 2. 2010, 14:10:51
ondrej16556:
Projev trochu vlastní snahy, vypiš si echem co je v mysql_result($vysledek, "heslo") a co je v md5($_REQUEST['heslo']), třeba zjistíš, proč se to nerovná. |
||
ondrej16556 Profil |
#6 · Zasláno: 2. 2. 2010, 16:50:19
Keď si napíšem do echa
echo "<br>"; echo (mysql_result($vysledek, "heslo") != md5($_REQUEST['heslo'])); Zobrazí sa mi číslo 1 Keď si napíšem echo "<br>"; echo mysql_result($vysledek, "heslo"); Zobrazí sa mi heslo v zašifrovanej podobe a správne, kontroloval som podľa databáze (03226f24e601120d7b0e635fbb53de) Keď si napíšem echo "<br>"; echo md5($_REQUEST['heslo']); Zobrazí sa mi heslo v zašifrovanej podobe ale o dve písmená viac ako je v databáze (03226f24e601120d7b0e635fbb53deca) Skúsim ešte nejaké opravy. |
||
Časová prodleva: 14 let
|
0