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

Bezpečnostní otázka PHP?

Při přijímání textu vytvořeného uživatelem, který se později zobrazí, je třeba vzít v úvahu dvě strany.

Nejprve musíte chránit databázi před útoky injekcí. Existuje na to jednoduchá funkce PHP:mysql_real_escape_string() obvykle postačí k ochraně vaší databáze před vložením při předání tohoto řetězce do uložení jako hodnoty pole.

Odtud si musíte dávat pozor na svůj displej, protože uživatel, který má povoleno nahrávat HTML kód, může dělat nepěkné věci ostatním uživatelům když se tento kód zobrazí. Pokud píšete články v prostém textu, můžete jednoduše htmlspecialchars() výsledný text. (pravděpodobně také budete chtít převést nové řádky na značky
.) Pokud používáte řešení pro formátování, jako je například engine Markdown používaný na tomto webu, tato řešení obvykle poskytují sanitaci HTML jako funkci enginu , ale určitě si přečtěte dokumentaci a ujistěte se.

Oh, ujistěte se, že také ověřujete své proměnné GET/POST používané k odeslání článků. To je samozřejmé a provedené ověření bude muset být přizpůsobeno tomu, co váš web dělá se svou logikou.



  1. MayBeSQL přichází do Microsoft Access!

  2. Závažná chyba:Nezachycená chyba:Volání nedefinované funkce mysql_connect()

  3. Spuštění funkce ORDER BY RAND() v mysql trvá dlouho

  4. Automatické dokončování Jquery a PHP:vyplnění vstupního pole daty z databáze mySQL na základě vybrané možnosti v poli automatického doplňování