Autor | Zpráva | ||
---|---|---|---|
Smajda Profil |
#1 · Zasláno: 6. 12. 2008, 17:38:29
chtěl bych se zeptat jak zabezpešit pořádně registraci proti nějakému napadání kód na registraci používám tendle
if($cisla=="ok" and $udaje=="ok" and $hesla=="ok" and $pravidla=="ok" and $connick=="ok" and $coemail=="ok"){ require "db.php"; $heslomd5 = md5($hesloo); $vloz = "INSERT INTO uzivatele VALUES (NULL, '$nick', '$heslomd5', '$email')"; mysql_query($vloz); a chráněno to mám akorát tím, že do inputů lze psát pouze A-Z a-z 0-9 a @ vím, že je to hodně hodně málo takže bych se chtěl zeptat jak to udělat jednoduše ale lépe díky za rady |
||
joe Profil |
#2 · Zasláno: 6. 12. 2008, 18:41:01
Jednoduše:
$nick = mysql_real_escape_string($_POST['nick']); Před touhle funkcí musíš být ale připojen k db. Nebo můžeš použít mysql_escape_string. |
||
Smajda Profil |
#3 · Zasláno: 6. 12. 2008, 19:38:18
nad touhle funkcí sem hodně dlouho přeméšlel a četl sem o ni na webech z googlu ale zdá se mi to takovy divny? tady té funkci se nedá nic podstrčit?
|
||
joe Profil |
#4 · Zasláno: 6. 12. 2008, 19:55:40
Smajda
Věrim, že tobě to bude určitě stačit. |
||
king26 Profil |
#5 · Zasláno: 7. 12. 2008, 13:58:33
V jednom článku pana Vrány jsem si přečetl a začal používat tuto ochranu:
$_POST['login']=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes($_POST['login']) : $_POST['login']); samozřejmě potom přímo v SQL dotazu dat proměnou do ' ', a při výpisu jen stačí dát htmlspecialchars();. |
||
Časová prodleva: 15 let
|
0