XSS脚本攻击
跨站脚本攻击(Cross Site Scripting)
网站收集用户的信息的时候,内部嵌入了相关的html/css/js等代码在表单里边,它们被一并收集到数据库里边,当该信息展示的时候,相关的 “攻击代码”就会执行,影响用户的查看效果。
tp框架本身有防止xss脚本攻击的功能,如何防止:
利用函数htmlspecialchars()把 <>’”都进行符号实体转化。
具体转化的步骤:
- 收集数据create()
- I()函数
- htmlspecialchars()过滤内容(htmlspecialchars_decode()反符号实体编码函数)
收集原生的$_POST表单信息容易形成攻击:
普通的表单域需要防止xss攻击,但是“富文本编辑器”的内容不要防止。
本身特殊符号可以变为符号实体,符号实体也可以变为特殊内容。
富文本编辑器内容特殊,因为该编辑器容易造成攻击。
对该编辑器内容进行特殊处理,以防止xss攻击:
① 把该编辑器内容直接存储到mysql中
② 该编辑器内部的内容进行一个“过滤处理”,把非法标签都过滤出去
③ 显示的内容都是安全的内容
解决方法:
利用htmlpurifier防止xss攻击,htmlpurifier可以限制相关的内容存储到数据库里边,利用该技术可以实现内容的特殊过滤,允许标签使用、禁止标签使用都可以实现。