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

Modo sicuro al 100% per archiviare html in MySQL

Nella maggior parte dei casi, l'iniezione SQL viene facilmente evitata con l'uso di istruzioni preparate.

XSS è più difficile se prevedi di consentire agli utenti di pubblicare markup HTML. Devi rimuovere tutti i <script> tag, tutti on* attributi dai tag, tutti javascript: URL, e anche in questo caso probabilmente non è completamente garantito per rendere sicuro l'HTML di input. Esistono librerie come HTMLPurifier questo può aiutare, ma fintanto che consenti l'HTML, sei a rischio di far passare qualcosa di dannoso.

Potresti invece usare una libreria che implementa qualcosa come markdown o wikitext. Ciò limita fortemente ciò che gli utenti possono inserire, pur consentendo loro di contrassegnare il contenuto in una certa misura. Non è a prova di tutto (le persone possono ancora pubblicare collegamenti a siti dannosi e sperare che gli utenti facciano clic su di essi, cosa che alcuni saranno abbastanza ingenui da fare effettivamente) e non sarai in grado di utilizzare un editor avanzato come TinyMCE senza un qualche tipo di plug-in, ma è un lavoro molto più semplice disinfettare il markdown rispetto a disinfettare l'HTML.