Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Filtracja $_POST, htmlspecialchars(stripslashes(trim()), ENT_QUOTES);
Elber
post 14.10.2011, 18:47:15
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 ?


--------------------
GG: 564555
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
darko
post 14.10.2011, 19:30:15
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.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Elber
post 14.10.2011, 19:47:33
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 ...


--------------------
GG: 564555
Go to the top of the page
+Quote Post
darko
post 14.10.2011, 20:15:16
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.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Elber
post 15.10.2011, 11:14:15
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 ?


--------------------
GG: 564555
Go to the top of the page
+Quote Post
croc
post 15.10.2011, 11:18:47
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 15.10.2011, 19:07:46
Post #7





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

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


OK wink.gif Bardzo dziękuję za tą odpowiedź wink.gif O to mi chodziło smile.gif

Takie upewniające się pytanie biggrin.gif Czy to wystarczy przed różnymi nieautoryzowanymi próbami wyciągnięcia czegoś z bazy ?


--------------------
GG: 564555
Go to the top of the page
+Quote Post
croc
post 15.10.2011, 19:15:56
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 15.10.2011, 19:29:07
Post #9





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

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


OK smile.gif Bo wyczytałem że wykonanie stripslashes po mysql_real_escape_string zwraca string taki jakby bez filtracji biggrin.gif Ale to jak jest stripslashes(mysql_real_escape_string($string))
a tutaj podałeś mysql_real_escape_string(stripslashes($string)) wink.gif A mam jeszcze takie jedno pytanie na przyszłość 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 ?


--------------------
GG: 564555
Go to the top of the page
+Quote Post
croc
post 15.10.2011, 19:33:39
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ć 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 15.10.2011, 20:41:42
Post #11





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

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


OK wink.gif w takim razie jeszcze raz wielkie dzięki wink.gif

Jeszcze jedno pytanie 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ć ? biggrin.gif


--------------------
GG: 564555
Go to the top of the page
+Quote Post
croc
post 15.10.2011, 20:50:32
Post #12





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

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


Lepiej używać 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 15.10.2011, 20:54:24
Post #13





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

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


Wszystko mi się w niej podoba biggrin.gif Wszystko jest OK wink.gif THX smile.gif


--------------------
GG: 564555
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 06:51