Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenie połaczenia z bazą przez PDO
Forum PHP.pl > Forum > PHP
Kokocky
Do łączenia się z bazą mysql od niedawna używam PDO, wcześniej miałem bazowałem na funkcjach mysql_* i miałem swoją funkcję do zapytań, która miała jakieś tam zabezpieczenia. Teraz w PDO wszystkie zapytania idą przez szablon (PDO::prepare()) i wszystkie dane wrzucane są przez PDOStatement::bindValue(), które znajdują się w tablicy wrzucanej do funkcji, na podstawie klucza sprawdzam czy to jest int czy string.
Czy potrzebne są jeszcze jakieś zabezpieczenia, typu filtrowania tablic GET i POST (aktualnie tylko sprawdzam czy ktoś nie wrzuca czegoś od siebie).
Jeśli chodzi o zabezpieczenia to dopiero od niedawna zaczynam się bawić nieco bardziej na poważnie.
Reptile ReX
ew. strip_tags, albo htmlspecialchars.

SQL Injection odpada jeżeli używasz bindowania parametrów w PDO.

tzn... nie ma takich zabezpieczeń, aby zawsze w 100% być bezpiecznym.
Ja mam taką teorię, że nie ma zabezpieczeń których nie da rady złamać.
Kokocky
Co prawda w niektórych formularzach jest możliwość wysyłania html'a (np przez TinyMCE), chyba zablokowanie skryptów JS z danego pola?
Wszystkie formularze są wysyłane przez POST, ważniejsze wymagają nawet potwierdzenia hasłem w nowym oknie, więc XSRF mi raczej nie grozi.
Rid
Tutaj jest ciekawy artykuł o PDO.Ja bym zalecił używać parametrów,zabezpiecza to przed SQL injection.Microsoft w języku c# jak VB używa parametrów w kwerendach jako główne zabezpieczenie przed SQL injection.
W tym artykule wyczytałem("Podpinanie parametrów"),że w PDO ,także można używać parametrów w swoich kwerendach. Tak więc... można coś dodatkowo zdziałać w sprawie zabezpieczeń.
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.