Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy urlencode() jest wystarczająco dobry, aby powstrzymać wszystkie ataki typu SQL injection w roku 2011?

urlencode() nie ma nic do roboty z SQL, dzięki czemu zapobiega wstrzykiwaniu SQL tak samo, jak nafta, aby Twoje burgery były smaczniejsze. Poza tym wszystko, co wchodzi do Twojej bazy danych, zostanie zakodowane jako adres URL, który musisz następnie zdekodować, jeśli chcesz zrobić z nimi coś przydatnego po pobraniu bazy danych.

Z drugiej strony, unikanie zapytań pomaga aplikacji chronić się przed wstrzyknięciem SQL i niczym więcej. Nie modyfikuje danych wprowadzasz swoje zapytania; tylko chroni Twoje zapytania przed manipulacją. Na tym polega idea wstrzykiwania SQL, a także dlatego kodowanie adresów URL danych nie chroni przed tym. To prawda, tak zamień swoje apostrofy ' w %27 , czyniąc je nieszkodliwymi, ale jak wspomniano w powyższym akapicie, będziesz musiał zdekodować je z powrotem na apostrofy, aby ich użyć.

Użyj odpowiedniego narzędzia do właściwego celu. Zwłaszcza w roku 2011 powinieneś używać przygotowanych instrukcji zamiast ręcznie zmieniać znaczenie zmiennych zapytania i łączyć ciągi w celu utworzenia zapytań.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korupcja InnoDB w Xampp

  2. Rysuj wiele wykresów za pomocą zapytań Flot, html, PHP i MySql

  3. Jak wybrać ostatnie N rekordów z tabeli w mysql

  4. Jak uzyskać rozmiar kolumny w tabeli mysql?

  5. Czy koncepcyjnie słuszne jest wykonanie SELECT MAX(id) itp. w celu znalezienia ostatniego wstawionego wiersza?