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

100% bezpečný způsob ukládání html v MySQL

SQL injection se ve většině případů snadno vyhne použitím připravených příkazů.

XSS je obtížnější, pokud plánujete umožnit uživatelům zveřejňovat značky HTML. Musíte odstranit všechny <script> tagy, všechny on* atributy ze značek, všechny javascript: url, a ani to pravděpodobně není zcela zaručeno, aby byl vstupní HTML bezpečný. Existují knihovny jako HTMLPurifier to může pomoci, ale pokud povolíte HTML, riskujete, že propustíte něco škodlivého.

Místo toho můžete použít knihovnu, která implementuje něco jako markdown nebo wikitext. To výrazně omezuje, co mohou uživatelé zadat, a zároveň jim to umožňuje do určité míry označit obsah. Není to plně odolné (lidé mohou stále jen zveřejňovat odkazy na škodlivé stránky a doufat, že se na ně uživatelé proklikají, což někteří budou natolik naivní, aby to skutečně udělali), a nebudete moci používat bohatý editor, jako je TinyMCE, bez nějakého druhu. zásuvného modulu, ale dezinfikovat markdown je mnohem jednodušší než dezinfikovat HTML.



  1. PHP PDO vrací nekonzistentní výsledky pro SELECT FOUND_ROWS()

  2. MySQL dotaz – najděte nové uživatele za den

  3. Jak mohu zpracovat dotazy na překrytí polygonů MySQL?

  4. Vytvořte spouštěč „místo“ na serveru SQL Server