คือcheck_plain ()เพียงพอสำหรับอีกการแสดงข้อความที่ป้อนโดยผู้ใช้ในเบราว์เซอร์หรือควรฉันยังคงกรองที่มีfilter_xss () ?
คือcheck_plain ()เพียงพอสำหรับอีกการแสดงข้อความที่ป้อนโดยผู้ใช้ในเบราว์เซอร์หรือควรฉันยังคงกรองที่มีfilter_xss () ?
คำตอบ:
ผมคิดว่าเป็นคำถามที่เกี่ยวกับการใช้หรือcheck_plain(filter_xss($string))
filter_xss(check_plain($string))
check_plain()
และfilter_xss()
มีจุดประสงค์ที่แตกต่างกันสองประการและตรงกันข้าม:
check_plain()
เข้ารหัสอักขระพิเศษในสตริงข้อความธรรมดาที่แสดงเป็น HTMLfilter_xss()
กรองสตริง HTML เพื่อป้องกันช่องโหว่ cross-site-scripting (XSS) โดยเฉพาะอย่างยิ่งจุดประสงค์ของมันคือ:
หากคุณใช้check_plain()
สตริงที่ส่งผ่านไปยังฟังก์ชันควรถูกใช้เป็นข้อความธรรมดา ในกรณีเช่นนี้filter_xss()
ไม่จำเป็น หากคุณใช้งานfilter_xss()
สตริงที่ส่งผ่านไปยังฟังก์ชันควรจะเป็น HTML และcheck_plain()
ไม่จำเป็น
หากคำถามเกี่ยวกับการใช้check_plain()
และfilter_xss()
ในส่วนต่าง ๆ ของสตริงเดียวกันเมื่อ Greggles ชี้ให้เห็นในความคิดเห็นของเขาคุณสามารถใช้ (ตัวอย่าง) check_plain()
ในเนื้อหาของแอตทริบิวต์แท็กและfilter_xss()
ในแท็ก HTML ทั้งหมด