参考答案
防御 XSS 攻击的方式:
- 通过正则表达式过滤传入参数的 html 标签来防范 XSS 攻击。
- 利用 php htmlentities() 函数,对传入参数的非法的 HTML 代码包括单双引号等进行转义。但是,中文情况下, htmlentities() 却会转化所有的 html 代码,连同里面的它无法识别的中文字符也给转化了。
- 利用 php htmlspecialchars() 函数,对传入参数的非法的 HTML 代码包括单双引号等进行转义,需要注意的是第二个参数默认是 ENT_COMPAT,函数默认只是转化双引号 (“),不对单引号 (‘) 做转义。更多的时候要加上第二个参数,应该这样用 : htmlspecialchars($string,ENT_QUOTES) 对单双引号都进行转义,如果需要不转化任何的引号第二个参数使用ENT_NOQUOTES。
以上,是网络安全面试题【怎么防御XSS攻击】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—