Mysql
 sql >> база данни >  >> RDS >> Mysql

Достатъчно добър ли е urlencode(), за да спре всички атаки с инжектиране на SQL през 2011 г

urlencode() няма какво да прави с SQL, така че той прави толкова, за да предотврати SQL инжекцията, колкото керосинът прави вашите бургери по-вкусни. Освен това всичко, което влиза във вашата база данни, в крайна сметка ще бъде кодирано с URL адрес, който след това трябва да декодирате, ако искате да направите нещо полезно с тях, след като извлечете базата данни.

Избягването на вашите заявки, от друга страна, помага на приложението ви да се предпази от SQL инжекция и нищо повече. Непроменя данните влизате във вашите запитвания; той само защитава вашите заявки от подправяне. Това е идеята на SQL инжекцията и това е и причината, поради която URL кодирането на вашите данни не прави нищо за защита срещу него. Разбира се, да обърнете апострофите си ' в %27 , което ги прави безвредни, но както беше споменато в горния параграф, ще трябва да ги декодирате обратно в апострофи, за да ги използвате.

Използвайте правилния инструмент за правилната цел. Особено през 2011 г. трябва да използвате подготвени оператори, вместо ръчно да избягвате променливите на заявката си и да свързвате низове, за да образувате заявки.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на MySQL key_len в Explain Statement

  2. Изтриване на няколко реда от базата данни чрез квадратчета за отметка

  3. Няма съпоставени Doctrine ORM обекти според текущата конфигурация

  4. Грешка при създаване на процедура mysql CRUD

  5. MySQL, трябва ли да остана свързан или да се свържа, когато е необходимо?