sql >> Database teknologi >  >> RDS >> Mysql

100% sikker måde at gemme html i MySQL

SQL-injektion undgås i de fleste tilfælde let ved brug af forberedte sætninger.

XSS er sværere, hvis du planlægger at tillade brugere at sende HTML-markering. Du skal fjerne alle <script> tags, alle on* attributter fra tags, alle javascript: urls, og selv da er det sandsynligvis ikke helt garanteret for at gøre input HTML sikkert. Der er biblioteker såsom HTMLPurifier det kan hjælpe, men så længe du tillader HTML, risikerer du at slippe noget ondsindet igennem.

Du kan bruge et bibliotek, der implementerer noget såsom markdown eller wikitext i stedet. Dette begrænser kraftigt, hvad brugere kan indtaste, mens de stadig lader dem markere indholdet i et vist omfang. Det er ikke fuldsikkert (folk kan stadig bare poste links til ondsindede websteder og håbe, at brugerne klikker videre til dem, hvilket nogle vil være naive nok til rent faktisk at gøre), og du vil ikke være i stand til at bruge en rig editor som TinyMCE uden en eller anden form af plugin, men det er en meget enklere opgave at rense markdown end det er at rense HTML.



  1. Hvad er det maksimale antal tilladte parametre pr. databaseudbydertype?

  2. Hvad er formålet med String[] whereArgs i int delete (String table, String whereClause, String[] whereArgs) funktion?

  3. Lær det grundlæggende i Java-logging

  4. MySQL-tabel er markeret som nedbrudt