Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zablokowac ; (średnik)
Forum PHP.pl > Forum > Bazy danych
php programmer
witam
czy jeśli zablokuje wykonianie pytania ze średnikiem to pozbędę sie automatycznie problemu SQL INJECTION?
Jeśli tak, to jak moge taka blokade ustawic samodzielnie,
czy tez moze zrobic to jedynie administrator?
ikioloak
Nie pozbedziesz sie. To nie jest az tak proste. Przstudiuj przyklad:
  1. <?php
  2.  
  3. $query = "delete from clients where id=".$_GET['id'];
  4. print $query;
  5.  
  6. ?>

zamiast print $query oczywiscie u ciebie jakies operacje na bazie. Strone ta wywolujesz oczywiscie strona.php?id=5
I teraz zobacz co sie stanie jak ktos wpisze strona.php?id=5 or 1=1
kicaj
Jak juz to:
  1. <?php
  2. $query = "DELETE FROM clients WHERE id="'. $_GET['id'] .';";
  3. ?>
Ale nie stosowalem nigdy srednika w zapytaniach SQL to nie wiem czy to mozliwe.

Oczywiscie zmienna $_GET musi byc odpowiednio sprawdzana przez nasz system, warunkami, typem, moze regexp oraz funkcja mysql_escape_string itp.

P.S.
SongoQ
Cytat
czy jeśli zablokuje wykonianie pytania ze średnikiem to pozbędę sie automatycznie problemu SQL INJECTION

Srednik do tego nic nie ma, radze poszukac posta na forum gdzie temat byl walkowany.
mike
Zamykam.
Temat SQInjection jest poruszany w wątku: SQL Injection/Insertion, Jak zapobiec włamaniu na stronę.
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.