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

Je tento kód PHP zranitelný vůči SQL injection?

Ano, je to zranitelné. Říkáte hodnoty přímo z uživatelského vstupu a umístíte je do svého dotazu.

Měli byste se podívat na mysql_real_escape_string , nebo (nejlépe) použijte MySQLi, které poskytuje parametrizované dotazy. Injekce SQL jsou způsobeny tím, že uživatelská data jsou vkládána jako kód SQL namísto dat. Jediným skutečným způsobem zabezpečení dotazu je použití parametrizovaných dotazů, které oddělují data a text dotazu na úrovni protokolu.

Kromě toho jsou vaše hesla uložena v prostém textu. Jako absolutní minimum byste měli používat osolenou hashovací funkci.

Měli byste se také podívat na tyto úžasné otázky:



  1. Nelze se připojit k Postgres přes PHP, ale lze se připojit z příkazového řádku a PgAdmin na jiném počítači

  2. Nejrychlejší způsob aktualizace tabulky MySQL, pokud existuje řádek else insert. Více než 2 nejedinečné klíče

  3. Použití BLOB v klauzuli where v MySQL

  4. Kde stáhnout Runtime Kit pro Microsoft Access 2016