Autor | Zpráva | ||
---|---|---|---|
JurkQo Profil |
Subor index.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1250"> <title>Skuska</title> </head> <body> <br><br> <form method="Post" action="Nahraj.php"> Meno:<br> <input type="text" name="Meno"><br> Priezvisko:<br> <input type="text" name="Priezvisko"><br> Login:<br> <input type="text" name="Login"><br> Heslo:<br> <input type="password" name="Heslo" <br> <input type="submit" value="Odoslať"> </form> <br><br> <form method="Post" action="Prihlas.php"> Login:<br> <input type="text" name="Login"><br> Heslo:<br> <input type="password" name="Heslo"><br> <input type="submit" value="Prihlas"> </form> </BLOCKQUOTE> </body> </html> Subor Prihlas.php: <?php $Login = $_POST['Login']; $Heslo = $_POST['Heslo']; $con = mysql_connect("...","...","..."); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("juro1", $con); mysql_query("SET NAMES cp1250"); $vypis = mysql_query("select Login from Uzivatelia"); $Existuje = "Ko"; while($zaznam = MySQL_Fetch_Array($vypis)): if($zaznam[Login] == $Login ) { $Existuje = "Ok"; } endwhile; $vypishesla = mysql_query("select Heslo from Uzivatelia"); $Heslo = "Ko"; while($zaznam2 = MySQL_Fetch_Array($vypishesla)): if($zaznam2[Heslo] == $Heslo ) { $Heslo = "Ok"; } endwhile; if($Existuje == "Ok" and $Heslo == "Ok") { echo("Ste uspesne prihlaseny"); } else { echo("Zadali ste nespravny login alebo heslo"); } mysql_close($con); printf ("<form method=\"Post\" action=\"zmenheslo.php\"> Zadaj heslo:<br> <input type=\"text\" name=\"Heslo\"><br> <input type=\"hidden\" name=\"Login\" value=\"%s\"> <input type=\"submit\" value=\"Odoslať\"> </form> ",$Login); ?> Moderátor Joker: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
Titulek „Login-prihlasovanie“ není přesný. Příště zkus prosím vymyslet lepší. |
||
Joker Profil |
#2 · Zasláno: 26. 3. 2011, 18:43:55
JurkQo:
Možná žádný uživatel v databázi nemá heslo "Ko". |
||
pcmanik Profil |
#3 · Zasláno: 26. 3. 2011, 20:48:36 · Upravil/a: pcmanik
Namiesot riadku 17 az 51 ti staci
$vypis = mysql_query("SELECT COUNT(*) from Uzivatelia WHERE Heslo = '$Heslo' AND Login = '$Login'"); $pocet = mysql_fetch_array($vypis): A potom si len podmienkou overis, ci sa pocet rovna 1. Ak ano, tak je prihlaseny inak nie. 6 az 10 zmen na $con = mysql_connect("...","...","...") or die('Nemožno pripojiť: ' . mysql_error()); Ale cely ten skript mi pride okopirovany a zle upraveny |
||
Joker Profil |
#4 · Zasláno: 26. 3. 2011, 21:39:15
pcmanik:
Ano, to je asi další stupeň na cestě ke správnému výsledku. Dál se můžeme bavit o tom, že když zadám heslo: ' OR Login='pepa'--, přihlásí mě to na uživatele jehož login jsem zadal, nebo že heslo by nemělo být v databázi uložené přímo. Ale to se tu už probíralo mnohokrát. |
||
Časová prodleva: 13 let
|
0