Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bezpieczeństwo
piotr485
post 8.12.2012, 22:33:07
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 10.12.2012, 14:25:10
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Nigdzie nie widziałem w poważnej aplikacji aby przy każdym pobieraniu danych z POST/GET ktoś używał is_numeric.
Jakby to był sposób na bezpieczeństwo to ta funkcja pojawiała się kilkaset razy w średnim projekcie - oczopląsu by można dostać.

Is_numeric służy do walidacji formularza - do zweryfikowania czy użytkownik wpisał liczbę w pole "wiek" oraz do innych, mniejszych spraw, nie do poprawy bezpieczeństwa.

I tak samo wyrażenia regularne - jak wyżej, tutaj już mają wpływ na bezpieczeństwo ale bardziej w wyszukiwaniu niebezpiecznych znaków, stringów itp.

W jaki sposób zapytanie COUNT zwiększa bezpieczeństwo skoro tu oraz w zapytaniu SELECT dodajesz ten sam warunek WHERE z tym samym stringiem pochodzącym z zewnątrz?
Bzdura.



--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 13:29