![]() |
![]() |
![]()
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%) ![]() ![]() |
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. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 13:29 |