Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%)
|
Witam.
Pobierając dane poprzez mysql_fetch_assoc zapytaniem: mysql_query('SELECT * FROM tabela where id = "5"') or die(mysql_error); Pole id 5 jest pobierane poprzez $_GET Jeśli go nie przefiltruje to jest jakieś niebezpieczeństwo takie, że po wpisaniu jakiś poleceń zamiast "5" może zapytanie przerobić się w update albo delete ? Jak to wygląda ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
wizarts niepotrzebne kroki. Po co walidacja is_numeric?
PDO bądź coś zbliżonego co zabezpiecza nas przed takimi problemami. I tyle. Haker zmienia ID na string, wykonuje się zapytanie, nie znajduje artykułu, nic się nie dzieje. Wyświetlasz "Nie ma artykułu" i to wystarczy w zupełności. Po co wyświetlać "Wpisane ID nie jest numeryczne", "Podany string nie spełnia założeń wyrażenia regularnego"? Potem po co dwa zapytania do pobrania artykułu? Pobierasz jeden wiersz po indeksie ID czyli bardzo lekkie zapytanie. Pobierasz, sprawdzasz czy pobrało wiersz i jeśli masz tablicę/obiekt to już nie musisz wykonywać kolejnego zapytania. |
|
|
|
piotr485 Bezpieczeństwo 8.12.2012, 22:33:07
markonix Kodsql injection 9.12.2012, 11:10:26
viking Wystarczy jakiś błąd w PHP (a w przeszłości już ró... 9.12.2012, 18:23:09
wizarts Najpierw sprawdź czy przesłany identyfikator spełn... 10.12.2012, 12:21:50
wizarts Miałem na myśli jedną metodę walidacji, czyli gdy ... 10.12.2012, 14:17:45
markonix Nigdzie nie widziałem w poważnej aplikacji aby prz... 10.12.2012, 14:25:10
wizarts Cytat(markonix @ 10.12.2012, 14:25:10... 10.12.2012, 20:23:03 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 19:45 |