![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wiele naczytałem się na forum, głównie tym, że PDO jest cacy i nic innego nie warto używać tylko pdo bo nie trzeba się martwić o to, że ktoś zrobi nam niemiłą niespodziankę w postaci 'hacked by gimbus2013'. Teraz się zastanawiam... Jeśli mam zmienne typu $_POST lub $_GET to zwyczajnie, jeśli chcę liczbę - daję to w intval(), a jeśli tekst to tylko trim() i tyle. Pozostałą rolę miało odegrać tutaj bindowanie danych przy wybraniu odpowiedniego typu (PARAM_STR/PARAM_INT).
Próbowałem teraz jak to jest naprawdę i zauważyłem, że jak wklepię regułkę w input, tak ja widzę też w phpmyadminie (mówię o bindzie ustawionym na param_str i polu TEXT). Wklepałem i w całości przeszło do bazy danych bez jakiegokolwiek backslasha. To samo z htmlowymi znakami: też bez zmian - w całości poszło do bazy. Czy tak ma być ? Czy należy dodatkowo jeszcze filtrować jakoś dane ? Czy PDo chroni tylko i wyłącznie przed sql injection czy może przed xss też uchroni? ;> Ten post edytował Majkelo23 25.11.2013, 19:47:21 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Przed XSS możesz się bronć się przy wyświetlaniu danych z bazy, a nie przy ich zapisie.
Czy zupełnie obroni? Nic nigdy nie jest bezpieczne na 100% (IMG:style_emoticons/default/smile.gif) Ten post edytował Turson 25.11.2013, 19:56:19 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 10:22 |