Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] PDO - quote vs bindValue oraz filtracja danych
Forum PHP.pl > Forum > Przedszkole
Darekxp
Witam!

1. Czy bindValue służy do filtrowania danych tak jak quote ?
2. Czy używając samego bindValue można zrezygnować z quote ?
3. Czy zmienne pochodzące z formularzy (POST/GET), lub z adresu URL trzeba filtrować (addslashes, htmlspecialchars itp.), czy można z nich zrezygnować jeśli używamy PDO i czy operacje na bazie danych będą bezpieczne?
Damonsson
1. W skrócie, tak.
2. Nawet trzeba, po co robić 2 razy to samo.
3. Trzeba je bindować, nie ma sensu używać jakichś dziwnych funkcji, które były potrzebne przy mysql_*. htmlspecialchars, nie ma nic wspólnego z SQLi, to raczej do XSS i PDO nie ma z tym nic wspólnego.
nospor
ad1) bindValue czy tez quote nie filtruje danych. On je przygotowuje do wstawienia do zapytania, a to raczej nie to samo co filtracja.
ad2) To nie jest dokladnie robienie dwa razy tego samego. Jak dwa razy narysujesz kreske na sobie to masz nadal jedna kreske. Jak dwa razy przepuscisz dane przez quote oraz bindValue to np. apostrof juz nie trafi do bazy jako apostrof tylko jako \apostrof wink.gif I wlasnie dlatego robiac bindValue nie nalezy juz robic quote gdyz mozna otrzymac niepoprawne/inne dane
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.