Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zabezpieczenie połaczenia z bazą przez PDO
Kokocky
post 18.07.2011, 23:59:03
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.09.2008

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


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.
Go to the top of the page
+Quote Post
Reptile ReX
post 19.07.2011, 11:40:28
Post #2





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


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ć.
Go to the top of the page
+Quote Post
Kokocky
post 19.07.2011, 21:45:08
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.09.2008

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


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.
Go to the top of the page
+Quote Post
Rid
post 19.07.2011, 22:03:35
Post #4





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


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ń.

Ten post edytował Rid 19.07.2011, 22:09:28
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: 13.06.2025 - 14:03