Autor Zpráva
dotaz
Profil *
Dobry den,
mám sql dotaz
SELECT id, name, description, category FROM movie WHERE actors LIKE '%Frances O'Connor%' LIMIT 10


Problem vidim u vyrazu Frances O'Connor.
Pokud neošetřím znak apostrofu, může někdo hledat "Frances O'% --(komentar) a pak klidne DELETE FROM...?
magic_quotes_gpc,mysql_real_escape_string nebo htmlspecialchars nebo jinak?
stepanka
Profil *
dotaz
Při ukládání do databáze používej addslashes, při selectování z databáze stripslashes.
Nox
Profil
stepanka
addslashes a stripslashes k ničemu moc nejsou

dotaz
odstranit to co udělají magic quotes pokud jsou zaplý a aplikovat mysql_real_escape_string

=> http://phpfashion.com/escapovani-definitivni-prirucka
dotaz
Profil *
diky za odpoved, patral jsem sam na vlastni pest a udelal jsem to dle phpfashion.com
stepanka
Profil *
omlouvám se za špatné doporučení.. já to používám furt a do teď jsem si myslela, že to dělám správně..
Nox
Profil
stepanka
V pohodě, také jsem je dřív používal, člověk se neustále učí
Keeehi
Profil
Tomashekk:
jak to zabezpečit
Není to nic složitého, jen stačí být důsledný.
Při vkládání do db -> pokud je to má být číslo, tak zajistit, aby to číslo bylo
$cislo = intval($_GET["cislo"]);
-> pokud jede o řetězec, řádně oescapovat
$retezec = mysql_real_escape_string($_GET["retezec"]);

Při výpisu stačí na řetězce použít:
htmlentities() nebo strip_tags()

Prostě celkově uživatelům se nedá věřit. Proto musíš vždy ošetřovat vše, co by mohl někdo změnit/podvrhnout. Pokud nevíš co všechno, je lepší toho ošetřit více než méně.

Moderátor Alphard: Přesunuto ze smazaného vlákna. Jen ještě hledám kam.

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:

0