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

Този PHP код уязвим ли е за SQL инжектиране?

Да, уязвимо е. Говорите стойности директно от въведеното от потребителя и го поставяте във вашата заявка.

Трябва да погледнете mysql_real_escape_string , или (за предпочитане) използвайте MySQLi, който предоставя параметризирани заявки. SQL инжекциите се причиняват от потребителски данни, които се инжектират като SQL код вместо данни. Единственият истински начин за защита на заявка е да се използват параметризирани заявки, които разделят данните и текста на заявката на ниво протокол.

Освен това вашите пароли се съхраняват в обикновен текст. Трябва да използвате осолена хеш функция като абсолютен минимум.

Трябва също така да разгледате тези страхотни въпроси:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Тестването на PHPUnit НЕ УСПЕШВА САМО при посещение на основната страница ( visit('/') ) в Laravel 5

  2. MySQL репликация:ако не посоча никакви бази данни, log_bin ще регистрира ли ВСИЧКО?

  3. Създаване на jqplot графика с помощта на php

  4. SQLAlchemy се опитва два пъти да изтрие вторичната връзка много към много

  5. Може ли MySQL да използва множество индекси за една заявка?