Autor Zpráva
Smajda
Profil
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
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
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
Smajda
Věrim, že tobě to bude určitě stačit.
king26
Profil
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();.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0