Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Filtracja $_POST, htmlspecialchars(stripslashes(trim()), ENT_QUOTES);
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Witam, jak najlepiej filtrować zmienne które idą POST'em do bazy lub są jednym z kryteriów szukania w bazie ? W tym momencie mam coś takiego

htmlspecialchars(stripslashes(trim($_POST['zmienna'])), ENT_QUOTES);

ale nie wiem czy to będzie spełniało swoją rolę i czy lepiej użyć czegoś innego ?
Go to the top of the page
+Quote Post
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Było setki razy. Gorąco polecam przypięty temat.
Go to the top of the page
+Quote Post
Elber
post
Post #3





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Toś mi pomógł ... nie ma co ... Nie potrzebuję definicji żadnych tylko odpowiedź czy htmlspecialchars(stripslashes(trim($_POST['zmienna'])), ENT_QUOTES); jest OK czy używać czegoś innego ...
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Tam jest odpowiedź na Twoje pytanie, wystarczy przeczytać wątek, nawet nie cały.
Go to the top of the page
+Quote Post
Elber
post
Post #5





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


A skoro Ty to wiesz to nie możesz mi tego napisać ? Bardzo ładnie proszę. bo oglądam ten wątek i nic takiego nie widzę tam

Nikt nie podpowie ?
Go to the top of the page
+Quote Post
croc
post
Post #6





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Moim zdaniem wrzucanie danych przefiltrowanych htmlspecialchars do bazy to bardzo zły pomysł, bo tracisz informację o oryginalnej strukturze wpisu. (co i tak większość klepaczy kodu - NIE programistów - olewa).

Dla mnie stripslashes + mysql_real_escape_string.

Go to the top of the page
+Quote Post
Elber
post
Post #7





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


OK (IMG:style_emoticons/default/wink.gif) Bardzo dziękuję za tą odpowiedź (IMG:style_emoticons/default/wink.gif) O to mi chodziło (IMG:style_emoticons/default/smile.gif)

Takie upewniające się pytanie (IMG:style_emoticons/default/biggrin.gif) Czy to wystarczy przed różnymi nieautoryzowanymi próbami wyciągnięcia czegoś z bazy ?
Go to the top of the page
+Quote Post
croc
post
Post #8





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Z mysql_real_ascape_string masz 100% pewności, że nikt nie wyciągnie nic z bazy przez - w Twoim przypadku - dane pole wysłane przez POST. A to dlatego, że cokolwiek wpisze, zostanie wstawione do zapytania jak zwykły tekst.
Go to the top of the page
+Quote Post
Elber
post
Post #9





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


OK (IMG:style_emoticons/default/smile.gif) Bo wyczytałem że wykonanie stripslashes po mysql_real_escape_string zwraca string taki jakby bez filtracji (IMG:style_emoticons/default/biggrin.gif) Ale to jak jest stripslashes(mysql_real_escape_string($string))
a tutaj podałeś mysql_real_escape_string(stripslashes($string)) (IMG:style_emoticons/default/wink.gif) A mam jeszcze takie jedno pytanie na przyszłość (IMG:style_emoticons/default/wink.gif) Czy gdy wstawię jakiś edytor wysiwyg i kod który on wygeneruje będę chciał wstawić do bazy to też używać mysql_real_escape_string(stripslashes($string)) czy w takim wypadku czegoś innego ?
Go to the top of the page
+Quote Post
croc
post
Post #10





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Masz rację -
nie miałoby najmniejszego sensu. To jak dać cukierek, by zaraz go odebrać (IMG:style_emoticons/default/biggrin.gif)

Tak, edytory WYSIWYG generują normalne łańcuchy znaków - możesz się nimi posługiwać tak samo.
Go to the top of the page
+Quote Post
Elber
post
Post #11





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


OK (IMG:style_emoticons/default/wink.gif) w takim razie jeszcze raz wielkie dzięki (IMG:style_emoticons/default/wink.gif)

Jeszcze jedno pytanie (IMG:style_emoticons/default/wink.gif) Bo jak wpiszę coś w textarea i użyje np. entera do przejścia do nowej linii i jak to potem ładuję na stronę to jest wszystko w jednej linii i muszę użyć nl2br() do tego ... da się jakoś zrobić żeby tego nl2br() nie używać? czy lepiej używać ? (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
croc
post
Post #12





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Lepiej używać (IMG:style_emoticons/default/tongue.gif) Co Ci się nie podoba w nl2br? Zawsze możesz wstawić wpis z textarea między znaczniki <pre>, ale to nie najrozsądniejsze rozwiązanie.
Go to the top of the page
+Quote Post
Elber
post
Post #13





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Wszystko mi się w niej podoba (IMG:style_emoticons/default/biggrin.gif) Wszystko jest OK (IMG:style_emoticons/default/wink.gif) THX (IMG:style_emoticons/default/smile.gif)
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: 24.08.2025 - 08:13