Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bezpieczeństwo
piotr485
post
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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
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.
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: 27.12.2025 - 19:45