Autor | Zpráva | ||
---|---|---|---|
MrStrees Profil |
#1 · Zasláno: 8. 1. 2012, 19:20:30
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 |
#2 · Zasláno: 8. 1. 2012, 19:30:42
Podle mě je to v pohodě, ta funkce dá před všechy apostrofy zpětná lomítka.
|
||
MrStrees Profil |
#3 · Zasláno: 9. 1. 2012, 14:52:38
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 |
#4 · Zasláno: 9. 1. 2012, 15:02:16 · Upravil/a: Tori
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 |
#5 · Zasláno: 9. 1. 2012, 15:17:26
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 |
#6 · Zasláno: 9. 1. 2012, 15:33:50
Kajman:
Takže, je v pořádku , že uživatel může uložit do tabulky záznam s apostrofem atd.? |
||
Kajman Profil |
#7 · Zasláno: 9. 1. 2012, 16:02:09
Ano. To je obecně chtěná vlastnost.
|
||
MrStrees Profil |
#8 · Zasláno: 9. 1. 2012, 16:55:32
Díky za odpovědi.
|
||
MrStrees Profil |
#9 · Zasláno: 10. 1. 2012, 19:42:48
Díky, měli jste pravdu, už to funguje.
|
||
Časová prodleva: 12 dní
|
|||
David P Profil * |
Můžu se jen zeptat.
array_map('mysql_real_escape_string',$pole); |
||
Časová prodleva: 12 let
|
0