Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] mysql_real_escape_string itp.
Forum PHP.pl > Forum > Przedszkole
Lvvgn
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
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
Ok dzięki, a np przy SELECT co można dać najlepiej ?
Shili
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.