| 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: 16 let
|
|||
0