Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dane z formularza a polecenie LIKE
Haczyk67
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Maciekbjw
post
Post #2





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

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


Znany problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Rozwiązań masz kilka

Kiedyś użyłem chyba czegoś takiego:
  1. <?php
  2.  if(!preg_match('/%/',$_POST['fraza']))
  3.      {
  4.  
  5.         //tutaj zapytanie SQL
  6.      }
  7.   else {
  8.          //nie wykona zapytania
  9. }
  10.  
  11. ?>


Niemniej można to też inaczej rozwiązać.
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: 9.10.2025 - 20:44