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

Как sprintf() защитава от SQL инжектиране?

sprintf няма да ви защити! Той само замества %s

трябва да mysql_real_escape_string така:

$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = "%s" AND COL2 = "%s"',
mysql_real_escape_string($col1),
mysql_real_escape_string($col2));

е по-безопасно инжектиране

забележка:Предлагам ви да разгледате PDO , това е, което обичам да използвам за DB връзки и заявки



  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

  2. заявката не е равна не работи

  3. Laravel Eloquent с()-> връща null

  4. MySQL подзаявката връща повече от един ред

  5. Връщане на стойност, дори и без резултат