Apakah check_plain () cukup untuk menampilkan kembali teks yang dimasukkan oleh pengguna di browser, atau haruskah saya tetap memfilter dengan filter_xss () ?
Apakah check_plain () cukup untuk menampilkan kembali teks yang dimasukkan oleh pengguna di browser, atau haruskah saya tetap memfilter dengan filter_xss () ?
Jawaban:
Saya membayangkan pertanyaannya adalah tentang menggunakan check_plain(filter_xss($string)), atau filter_xss(check_plain($string)).
check_plain()dan filter_xss()memiliki dua tujuan yang berbeda, dan sebaliknya:
check_plain() menyandikan karakter khusus dalam string teks biasa yang kemudian ditampilkan sebagai HTML.filter_xss()memfilter string HTML untuk mencegah kerentanan lintas-situs-scripting (XSS). Secara khusus tujuannya adalah:
Jika Anda menggunakan check_plain(), string yang diteruskan ke fungsi seharusnya digunakan sebagai teks biasa; dalam hal demikian, filter_xss()tidak perlu. Jika Anda menggunakan filter_xss(), maka string yang diteruskan ke fungsi seharusnya HTML, dan check_plain()tidak perlu.
Jika pertanyaannya adalah tentang menggunakan check_plain()dan filter_xss()pada bagian berbeda dari string yang sama, maka, seperti yang ditunjukkan greggles dalam komentarnya, Anda dapat menggunakan (misalnya) check_plain()pada konten atribut tag, dan filter_xss()pada seluruh tag HTML.