Nevíte někdo, proč to nefunguje?

3 příspěvky

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Nevíte někdo proč mi nefunguje přihlášení? Soubor -- login.html : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <head> <title>Přístup na chráněnou stránku</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> </head> <body> <form method="post" action="login.php"> <table border="0" cellpadding="0" cellspacing="0"> <tr><td>Login:</td><td><input type="text" name="log" size="20"></td></tr> <tr><td>Heslo:</td><td><input type="password" name="pwd" size="20"></td></tr> <tr><td colspan="2"><input type="submit" name="submit" value="Odeslat"></td></tr> </table> </form> </body> Soubor login.php : <?php Define ('file', 'pswd.txt'); //CESTA K SOUBORU S HESLY Define ('server','http://maikis.wz.cz/'); //URL STRANEK $data = @File(file) or Die('Nastala chyba'); //NACTENI OBSAHU SOUBORU DO POLE foreach ($data AS $v) { List ($pswd, $login) = Explode (':', $v); //ROZDELENI RADKU NA HESLO A LOGIN if (Trim($login) == Trim($_POST['log'])) { if (Trim($pswd) == MD5(Trim($_POST['pwd']))) { Header ('Location: '.server.'top_secret.php?pswd='.$pswd.'&login='.$login); //POKUD JE HESLO exit; //A LOGIN SPRAVNE //PRESMERUJEME //SKRIPT NA //CHRANENY SOUBOR } else { Header ('Location: '.server.'bad_login.php'); //SPATNY LOGIN exit; } } } Header ('Location: '.server.'bad_login.php'); //SPATNY LOGIN exit; ?> Soubor pswd.txt : mrstkhq:maikis bronislava:tazza Soubor top_secret.php : <?php Define ('file', 'pswd.txt'); //CESTA K SOUBORU S HESLY Define ('server','http://maikis.wz.cz/'); //URL STRANEK $data = @File(file) or Die('Nastala chyba'); //NACTENI OBSAHU SOUBORU DO POLE foreach ($data AS $v) { List ($pswd1, $log1) = Explode (':', $v); $pswd[] = Trim($pswd1); $log[] = Trim($log1); } //NAJDEME POLOZKU POLE $log, KTERA ODPOVIDA ODESLANEMU LOGINU $key = Array_Search ($_GET['login'], $log); //POKUD JE LOGIN NEBO HESLO SPATNE, TAK PRESMERUJEME VYSTUP NA STRANKU //S CHYBOVYM HLASENIM if ($key === false || $pswd[$key] != $_GET['pswd']) { Header ('Location: '.server.'bad_login.php'); exit; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <head> <title>Super tajná stránka</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> </head> <body> <h1>TOP SECRET - EYES ONLY</h1> </body> Soubor bad_login.php : <?php Define ('file', 'pswd.txt'); //CESTA K SOUBORU S HESLY Define ('server','http://maikis.wz.cz/'); //URL STRANEK $data = @File(file) or Die('Nastala chyba'); //NACTENI OBSAHU SOUBORU DO POLE foreach ($data AS $v) { List ($pswd1, $log1) = Explode (':', $v); $pswd[] = Trim($pswd1); $log[] = Trim($log1); } //NAJDEME POLOZKU POLE $log, KTERA ODPOVIDA ODESLANEMU LOGINU $key = Array_Search ($_GET['login'], $log); //POKUD JE LOGIN NEBO HESLO SPATNE, TAK PRESMERUJEME VYSTUP NA STRANKU //S CHYBOVYM HLASENIM if ($key === false || $pswd[$key] != $_GET['pswd']) { Header ('Location: '.server.'bad_login.php'); exit; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <head> <title>Super tajná stránka</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> </head> <body> <h1>TOP SECRET - EYES ONLY</h1> </body> O tom, že to nefunguje se sami můžete přesvědčit na http://maikis.wz.cz/login.html Díky moc!:)
  2. v subore s heslami ma byt to heslo zahashevane pomocou MD5 a evidentne nie je (MD5 generuje 32 znakov)
  3. Aha. ďakujem. Záhada vyřešena

← Zpět na všechna témata