Autor | Zpráva | ||
---|---|---|---|
Norbert Pelc Profil |
#1 · Zasláno: 1. 10. 2006, 17:35:05 · Upravil/a: Norbert Pelc
Vím, že už se to tady řešilo. Potřebuji udělat přihlašení, tak aby nikdo nezjistil heslo. A jestě potřebuji tam mít více uživatelů a každý musí mít svoje jméno a heslo. Prosím nějaké kódy. Dík. |
||
Suji Profil |
#2 · Zasláno: 1. 10. 2006, 17:36:33
|
||
Casero Profil |
#3 · Zasláno: 1. 10. 2006, 17:36:44
Norbert Pelc
Vím, že už se to tady řešilo. tak hledej!!..skoro vždycky se stránka hesluje, aby nešlo zjistit heslo |
||
Norbert Pelc Profil |
#4 · Zasláno: 1. 10. 2006, 17:56:19
No jo ale kdy použiji PHP heslovani tak je heslo videt v kodu ne???
<body> <? if($heslo != "mellon"): ?> <!--přihlaąovací formulář --> <form> Zadej heslo: <input type=password name="heslo"> <input type=submit> </form> <? ; else: ?> <h1>Vítejte v Morii!</h1> ... daląí tajný text <? endif ?> </body> mellon je ale v kodu, ale chtel bych to tak ze na jedne strance bych mel formular a na druhe obsah po zadani hesla. |
||
Suji Profil |
#5 · Zasláno: 1. 10. 2006, 18:00:19
ja pouzivam neco takoveho
formular na posilani hesla <form action="https://neco.cz/?akce=prihlasit" method="post" accept-charset="utf-8" class="testuser"> <div><span class="tu">Login</span><input type="text" name="login" value="" maxlength="64" size="10" /><br /></div> <div><span class="tu">Password</span><input type="password" name="password" id="snd" value="" size="10" maxlength="20" /><br /></div> <div><span class="tu"> </span><input type="submit" value="LOGIN" /></div> </form> a pak cast, ktera urcuje, zda je heslo spravne $datab = @mysql_connect($shost,$slogin,$spwd) or die("Nelze se pripojit k My SQL serveru 2"); @mysql_select_db($database) or die("Nelze se pripojit k databazi 2"); $query = "SELECT * FROM users WHERE login ='".$_POST['login']."'"; $result = mysql_query($query); $user = mysql_fetch_array($result); mysql_close(); $pass1 = sha1($_POST['password']); if (strcmp($pass1, $user['password'])==0 and strcmp($_POST['login'], $user['login'])==0) { $logged = true;} v databazi mam tabulku users kde mam mj. sloupce login a password. |
||
Casero Profil |
#6 · Zasláno: 1. 10. 2006, 18:13:30
No jo ale kdy použiji PHP heslovani tak je heslo videt v kodu ne???
ne!!..php se provádí na serveru... |
||
Alphard Profil |
#7 · Zasláno: 1. 10. 2006, 18:19:14
No jo ale kdy použiji PHP heslovani tak je heslo videt v kodu ne???
funkce: md5 |
||
Norbert Pelc Profil |
#8 · Zasláno: 1. 10. 2006, 18:26:15 · Upravil/a: Norbert Pelc
Prosim udela mi nekdo tu databazi, ja jsem to nejak zmrvil
|
||
Norbert Pelc Profil |
#9 · Zasláno: 1. 10. 2006, 21:06:23
takze si mam udelat treba index.php
do ktereho vlozim $datab = @mysql_connect($shost,$slogin,$spwd) a jeste jednou vytvori mi nekdo db dekuji |
||
Joker Profil |
#10 · Zasláno: 2. 10. 2006, 12:39:55 · Upravil/a: Joker
Aby heslo nebylo čitelné z kódu, to se dělá přes hash, třeba MD5:
$spravne_heslo = "0d85b5a27848801d423acbe885326539"; if(isset($_POST["heslo"])) $heslo = md5($_POST["heslo"]); else $heslo = false; if($heslo != $spravne_heslo) echo('Zadejte heslo: <form action="neco.php" method="post"><input type="password" name="heslo" id="heslo"><input type="submit"></form>'); else{ echo("Tajný text!"); } No anebo totéž, ale přes databázi. Jediný rozdíl by byl v tom, že heso (popřípadě jména a hesla) by bylo uložené v databázi. Dotaz pak může vypadat nějak takhle: $jmeno = strtolower(htmlspecialchars($_POST["jmeno"])); $heslo = md5($_POST["heslo"]; $sql = "SELECT id FROM users WHERE jmeno='$jmeno' AND heslo='$heslo'" dotaz se provede a pokud se nevrátí žádný řádek, napíšeme "špatné jméno nebo heslo". Ohledně struktury tabulky, záleží jaké informace tam potřebujete držet. Pro můj příklad by to bylo asi takhle: id: INT NOT NULL AUTO_INCREMENT jmeno: VARCHAR(*na kolik omezíte délku jména*) heslo: CHAR(32) |
||
Norbert Pelc Profil |
#11 · Zasláno: 2. 10. 2006, 13:29:28
Potřebuji tam mít jen jmeno a heslo.
Chci tam mít více uživatelů. |
||
Časová prodleva: 2 měsíce
|
|||
Anonymní Profil * |
#12 · Zasláno: 22. 11. 2006, 15:44:23
zkoušel jsem tento příklad:
$spravne_heslo = "0d85b5a27848801d423acbe885326539"; if(isset($_POST["heslo"])) $heslo = md5($_POST["heslo"]); else $heslo = false; if($heslo != $spravne_heslo) echo('Zadejte heslo: <form action="neco.php" method="post"><input type="password" name="heslo" id="heslo"><input type="submit"></form>'); else{ echo("Tajný text!"); } ale nefunguje mi to. Hází mi to chybu parse v tomto řádku: echo('Zadejte heslo: <form action="neco.php" method="post"><input type="password" name="heslo" id="heslo"><input type="submit"></form>'); ovšem mně nepřijde, že je tam chyba...můžete mi nějak poradit? Celá stránka vypadá takto: <?php $title='název'; $obsah="\n".' <h4>nadpis</h4> $spravne_heslo = "0d85b5a27848801d423acbe885326539"; if(isset($_POST["heslo"])) $heslo = md5($_POST["heslo"]); else $heslo = false; if($heslo != $spravne_heslo) echo('Zadejte heslo: <form action="muj_soubor.php" method="post"><input type="password" name="heslo" id="heslo"><input type="submit"></form>'); else{ echo("Tajný text!"); } '."\n"; require("dalsi_casti_stranky.inc.php"); ?> |
||
Časová prodleva: 6 dní
|
|||
Radek Rojík Profil * |
#13 · Zasláno: 28. 11. 2006, 22:25:37
funkce sha1() je silnější než md5(). udělej si nějakou zkušební stránku aby ti vygenerovala (*** vygenerovanou hodnotu ***):
Je to na rychlo napsaný, ale snad tě to něco pomůže. [url=mailto:radek@rawas.cz] Po případě mi napiš[/url] |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0