![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pobieram dane z formularza i wykorzystuję je do wykonania zapytania do MySQL z poleceniem LIKE '%$dane_z_formularza%'.
Wyczytałem że mysql_real_escape_string nie zabezpiecza przed atakiem SQL Injection z użyciem znaków %. Intruz może dopisać '%' w formularzu i wykonać wpisane przez siebie polecenie. Nie mogę usunąć '%' z zapytania bo takie znaki też mogą się znaleść w bazie. Jak zabezpieczyć się przed tym? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 23 Dołączył: 2.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Znany problem
![]() Rozwiązań masz kilka Kiedyś użyłem chyba czegoś takiego:
Niemniej można to też inaczej rozwiązać. -------------------- Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem
WRONA.IT - pozycjonowanie stron www.ecyklopedia.pl |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hm nie do końca o takie rozwiązanie mi chodzi. Przecież fraza może być np. "50%". Dlaczego mam nie wykonywać zapytania tylko dlatego że ktoś wpisał %? Jak to inaczej rozwiązać?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Ja nie widzę problemu przy zapisie %
możesz go zapisać jako np. {$37$} i stworzyć prosty parser takich znaków ;d a wyświetlisz go potem: chr(37); -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Widzę że Google ignoruje %
http://www.google.pl/search?hl=pl&q=50...=Szukaj&lr= chyba też tak zrobię ;P |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
przed przekazaniem do zapytania SQL... -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem że %% działa na tej samej zasadzie co // , tak?
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 16:16 |