sql >> Database >  >> RDS >> Mysql

100% veilige manier om html op te slaan in MySQL

SQL-injectie is in de meeste gevallen gemakkelijk te vermijden door het gebruik van voorbereide instructies.

XSS is moeilijker als u van plan bent gebruikers toe te staan ​​HTML-opmaak te posten. U moet alle <script> . verwijderen tags, allemaal on* attributen van tags, allemaal javascript: urls, en zelfs dan is dat waarschijnlijk niet volledig gegarandeerd om de HTML-invoer veilig te maken. Er zijn bibliotheken zoals HTMLPurifier dat kan helpen, maar zolang je HTML toestaat, loop je het risico iets kwaadaardigs door te laten.

Je zou in plaats daarvan een bibliotheek kunnen gebruiken die iets als markdown of wikitekst implementeert. Dit beperkt ernstig wat gebruikers kunnen invoeren, terwijl ze de inhoud nog steeds tot op zekere hoogte kunnen markeren. Het is niet volledig bewijs (mensen kunnen nog steeds gewoon links naar kwaadaardige sites plaatsen en hopen dat gebruikers ernaar doorklikken, wat sommigen naïef genoeg zullen zijn om dat ook daadwerkelijk te doen), en je zult niet in staat zijn om een ​​uitgebreide editor zoals TinyMCE te gebruiken zonder enige vorm van van plug-in, maar het is een veel eenvoudiger taak om markdown op te schonen dan om HTML te zuiveren.



  1. Kan een MYSQL-back-up niet terugzetten naar een nieuwe database

  2. MySQL-fout - #1062 - Dubbele invoer '' voor sleutel 2

  3. Mysql-query om rijen dynamisch naar kolommen te converteren op basis van twee kolommen

  4. Query voor exacte overeenkomst van een string in SQL