Injeksi SQL dalam banyak kasus mudah dihindari dengan penggunaan pernyataan yang disiapkan.
XSS lebih sulit jika Anda berencana mengizinkan pengguna memposting markup HTML. Anda harus menghapus semua <script>
tag, semua on*
atribut dari tag, semua javascript:
url, dan itu pun mungkin tidak sepenuhnya dijamin untuk membuat input HTML aman. Ada perpustakaan seperti HTMLPurifier
itu dapat membantu, tetapi selama Anda mengizinkan HTML, Anda berisiko membiarkan sesuatu yang berbahaya masuk.
Anda bisa menggunakan perpustakaan yang mengimplementasikan sesuatu seperti penurunan harga atau teks wiki sebagai gantinya. Ini sangat membatasi apa yang dapat dimasuki pengguna, sambil tetap membiarkan mereka menandai konten sampai batas tertentu. Ini tidak sepenuhnya terbukti (orang masih dapat memposting tautan ke situs jahat dan berharap pengguna mengkliknya, yang beberapa akan cukup naif untuk benar-benar dilakukan), dan Anda tidak akan dapat menggunakan editor kaya seperti TinyMCE tanpa semacamnya. plugin, tetapi membersihkan penurunan harga jauh lebih mudah daripada membersihkan HTML.