Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] mysql_real_escape_string itp.
-Lvvgn-
post
Post #1





Goście







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.
Go to the top of the page
+Quote Post
Shili
post
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Shili 8.06.2008, 11:55:43
Go to the top of the page
+Quote Post
-Lvvgn-
post
Post #3





Goście







Ok dzięki, a np przy SELECT co można dać najlepiej ?
Go to the top of the page
+Quote Post
Shili
post
Post #4





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.08.2025 - 08:59