Lvvgn
8.06.2008, 11:45:09
Mam pytanie. Kiedy używać najlepiej rzeczy typu mysql_real_escape_string, htmlentities(), addslashes ? Chodzi mi o to w którym momencie ich najlepiej używać tak żeby skrypt był bezpieczny np. przy dodawaniu do bazy tekstu, przy SELECT itp.
Shili
8.06.2008, 11:54:20
Przy dodawaniu tekstu do bazy zdecydowanie mysql_real_escape_string i najlepiej htmlspecialchars lub strip_tags, jeśli tekst z bazy ma być wyświetlany gdzieś na stronie. A najlepiej używać przed dodaniem do bazy, względnie w zapytaniu (ale zapytanie robi się moim zdaniem dużo mniej czytelne).
addslashes nie polecam przy bazie mysql, skoro jest specialna dedykowana funkcja. Zresztą escape string jest mniej podatne na niektóre specyficzne ataki.
Lvvgn
8.06.2008, 11:57:09
Ok dzięki, a np przy SELECT co można dać najlepiej ?
Shili
8.06.2008, 12:05:14
Przy selectach spokojnie starczy mysql_real_escape_string, chyba że dane otrzymane od użytkownika chcesz wypisywać gdzieś na stronie, to wtedy otrzymane zmienne wypadałoby potraktować jeszcze funkcjami uniemożliwiającymi xss.
marcio
8.06.2008, 12:07:56
A wiec jak dla mnie przy dodawaniu do bazy dla int dajesz intval() lub (int) dla string dajesz addslashes() proponuje jednak mysql_real_escape_string(0 gdy wyswietlasz dane z bazy stripslashes()/htmlspecialchars() i wsio ok
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.