Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja do pól typu text
wpaski
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 6
Dołączył: 25.12.2011

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


Czy taka funkcja zabezpiecza dane które mają być zapisywane do bazy danych? Dodatkowo korzystam z PDO.
  1.  
  2. public function allowedcharacters($data) {
  3. $data = filter_var($data, FILTER_SANITIZE_STRING);
  4. if (preg_match("/^[a-z ęóąśłżźćń]+$/", $data) == false) {
  5. return "Niedozwolone znaki";
  6. }
  7. }


Takie jeszcze poboczne pytanie co dokładnie robi flaga FILTER_SANITIZE_STRING bo z tego co wyczytałem, to usuwa znaki html'owskie ale co jeszcze usuwa?

Ten post edytował wpaski 7.10.2012, 13:25:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wpaski
post
Post #2





Grupa: Zarejestrowani
Postów: 206
Pomógł: 6
Dołączył: 25.12.2011

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


dzięki, chodzi o podstawowe ataki, SQL injection i XSS

Cytat
Tzn. sama w sobie nie, ale jeśli będzie odpowiednio użyta z funkcją wywołującą zapytanie to tak.


Tego za bardzo nie rozumiem, przecież nie można wprowadzić innych znaków po za tymi filtrowanymi przez preg_match
Go to the top of the page
+Quote Post
bostaf
post
Post #3





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(wpaski @ 7.10.2012, 16:28:10 ) *
dzięki, chodzi o podstawowe ataki, SQL injection i XSS

No to sprawa jest prosta. Do skonstruowania zapytania wykorzystaj PDO::prepare, podepnij dane za pomocą PDOStatement::bindParam i wykonaj zapytanie za pomocą PDOStatement::execute. Nic nie trzeba filtrować ani eskejpować. Wszystkie dane są "podpięte" czyli lecą do servera SQL równolegle z zapytaniem a nie w zapytaniu. W tym cała magia PDO - dane nie mają bezpośredniego kontaktu z zapytaniem.
W manualu PHP, za linkami które podałem, są ładne przykłady bindowania.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 16:41