Autor Zpráva
MrStrees
Profil
Zdravim,
chtěl bych se zeptat, jestli je tento kód bezpečný? Jde mi o to, jestli je kód imunní SQL Injectionu
$nazev = mysql_real_escape_string($_POST['firstname']);
mysql_query("INSERT INTO test (jmeno) VALUES  ('".$nazev."')") or die("Chyba: ".mysql_error());
djlj
Profil
Podle mě je to v pohodě, ta funkce dá před všechy apostrofy zpětná lomítka.
MrStrees
Profil
Problém je, že z nějakého důvodu to dovolí vložit do tabulky takovýhle vstup "x' or 'a' = 'a" v nezměnené podobě.
Tori
Profil
MrStrees:
Nemáte zapnuté magic_quotes, že by se tak vlastně escapovalo dvakrát? A jak vypadá ten kód+dotaz (předpokládám, že je to nějaký SELECT).
A jo, "Vložit do tabulky", ne do dotazu. Pardon, nepozorně jsem četla.
Kajman
Profil
MrStrees:
dovolí vložit do tabulky takovýhle vstup ... v nezměnené podobě.

MrStrees:
To snad není žádná chyba. Článek přece chcete uložit v nezměněné podobě. Stejně tak jeho nadpis. Že se uloží přesně to, co uživatel zadal, je snad chtěná vlastnost.
MrStrees
Profil
Kajman:
Takže, je v pořádku , že uživatel může uložit do tabulky záznam s apostrofem atd.?
Kajman
Profil
Ano. To je obecně chtěná vlastnost.
MrStrees
Profil
Díky za odpovědi.
MrStrees
Profil
Díky, měli jste pravdu, už to funguje.
David P
Profil *
Můžu se jen zeptat.

array_map('mysql_real_escape_string',$pole);
je také v pořádku, že ? Děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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