Autor | Zpráva | ||
---|---|---|---|
Kl0bouk Profil * |
#1 · Zasláno: 28. 1. 2008, 19:00:06
Ahoj,
mám následující problém. Mám databázi uživatelů a tam se mi posílají zahashovaný hesla (MD5) - to je OK ....teď pořebuju vědět jak to udělat při logování do stránky, aby uživatel zadal svoje (nezahashovaný) heslo a přitom to nějak porovnalo to zahashovaný heslo v DB.... |
||
Akacko Profil |
#2 · Zasláno: 28. 1. 2008, 19:01:17
Kl0bouk
Zahashuješ heslo z formuláře a porovnáš. |
||
BlueRain Profil |
#3 · Zasláno: 28. 1. 2008, 19:19:49
$hash=md5($_POST['pass']);
mysql_query(" SELECT informace FROM uzivatele WHERE heslo='{$hash}' ") |
||
Kl0bouk Profil * |
#4 · Zasláno: 28. 1. 2008, 20:32:56
Asi sem neumětel.....ale furt mi to nechce fachat......poradí mí někdo kam to mám v tomto kódu schovat?
píše mi to nějakou parse chybu !!!! <? include("config.php"); $spojeni=mysql_connect($MySQL_server,$MySQL_user,$MySQL_user_password) ; $spojenidb=mysql_select_db($MySQL_db); if (!$spojeni) { echo"Nepodarilo se navazat spojeni se serverem."; exit; } $prihlasen=""; if($co=="logout"){ MySQL_Query("UPDATE ".$MySQL_predponatabulek."_user SET ip='' WHERE id='$id';"); $code=""; $error="<b>Nyní seš wodhlášen.</b><br>Pokud budeš chtít dál pokračovat v režimu pro registrované, musíš se znova přihlásit =)<br><br>"; } if($nick!=""){ $bb = MySQL_Query("SELECT * FROM ".$MySQL_predponatabulek."_user WHERE nick='$nick';"); echo MySQL_Error(); $aa=MySQL_Fetch_Array($bb); if(($aa[heslo]==$heslo) and ($heslo!="")){ $IP=$REMOTE_ADDR; MySQL_Query("UPDATE ".$MySQL_predponatabulek."_user SET ip='$IP' WHERE nick='$nick';"); $time=time(); MySQL_Query("UPDATE ".$MySQL_predponatabulek."_user SET posledni_akce='$time' WHERE nick='$nick';"); $kod=MD5($time.$REMOTE_ADDR); MySQL_Query("UPDATE ".$MySQL_predponatabulek."_user SET kod='$kod' WHERE nick='$nick';"); $url="id=".$aa[id]."&code=".$kod; $prihlasen=$aa[id]; } else {$error="Přihlášení se nepodařilo. Špatné uživatelské jméno, nebo heslo.<br><br>";} } if($code!=""){ $bb = MySQL_Query("SELECT * FROM ".$MySQL_predponatabulek."_user WHERE id='$id';"); $aa=MySQL_Fetch_Array($bb); $rozdil = time() - $aa[posledni_akce]; if($rozdil>300 or $rozdil<0) $povol="ne"; if(($aa[kod]==$code)and($aa[ip]==$REMOTE_ADDR) and ($povol=="")){ $time=time(); MySQL_Query("UPDATE ".$MySQL_predponatabulek."_user SET posledni_akce='$time' WHERE id='$id';"); $url="id=".$id."&code=".$code; $prihlasen=$id; } else {$str="";MySQL_Query("UPDATE ".$MySQL_predponatabulek."_user SET ip='' WHERE id='$id';"); $error="<b>Nejste přihlášen</b><BR>Buď nesouhlasí IP, nebo se provedlo automatické odhlášení, kvůli neaktivitě delší než 5 minut. Přihlaste se proto prosím znovu.<br><br>";} } ?> díky =) |
||
1ight Profil |
#5 · Zasláno: 29. 1. 2008, 13:16:39
email = '" . $_POST['email'] . "',
password = " . "( PASSWORD('" . $_POST['password'] . "' ) ), first_name = '" . $_POST['first_name'] . "', last_name = '" . $_POST['last_name'] . "', nick = '" . $_POST['nick'] . "', možná hledáš tohle ten příkaz ti to jakoby odkoduje ze DB do normálního textu (aspon myslím mě to funguje pro ověření) nevím 100% jeslti je to co hledaš zkus to nejak zpracovat doufám že jsem aspon trošku pomohl. |
||
nightfish Profil |
#6 · Zasláno: 29. 1. 2008, 13:48:21
Kl0bouk
ten kód je dosti příšerný - hledat v něm chybu parsování nebude úplně jednoduché ale můžeš zkusit řádek if(($aa[heslo]==$heslo) and ($heslo!="")){ nahradit za if(($aa[heslo]==md5($heslo)) and ($heslo!="")){ |
||
Kl0bouk Profil * |
#7 · Zasláno: 30. 1. 2008, 14:29:23
Zkoušel sem snad všechno...ale nechce to pořád fachat......
|
||
Časová prodleva: 16 let
|
0