攻击过程
用户在输入框中输入脚本<script>alert(1)</script>。点击提交后保存数据库,在后台读取数据时候会弹出1。
解决方法
使用php函数 htmlentities(用户提交数据),这样会把数据转化成html实体在保存数据库。(全部转换)
局部过滤:
1: 
2:htmlentities($data)
全局过滤(使用的是tp5.0框架配置文件)

使用解决方法后出现的问题
假设用到了编辑器(例如百度编辑器),用户内容输出内容会被反转两次,解决方法使用html_entity_decode函数

还没有评论,来说两句吧...