sql >> Databáze >  >> RDS >> Mysql

Je tento dotaz bezpečný před sql injection?

Tato konkrétní injekce by nefungovala od PHP mysql_query funkce umožňuje pouze jeden dotaz na volání. Následující však může fungovat, pokud je column má primární nebo jedinečný klíč:

$unsafe_variable = "admin') ON DUPLICATE KEY UPDATE password=MD5(CONCAT('knownsalt', 'newpassword'))#";

Je lepší použít dlouhý řetězec mysql_real_escape_string funkce:

$sql=sprintf("INSERT INTO table (column) VALUES(%s)",
             mysql_real_escape_string($unsafe_variable));
mysql_query($sql);


  1. Rychlé nalezení podobných řetězců pomocí PostgreSQL

  2. MySQL Performance Cheat Sheet

  3. Jak změnit heslo uživatele PostgreSQL?

  4. Aktivní relace a stav SQL serveru