XSS攻击
XSS(Cross Site Scripting)攻击的全称是跨站脚本攻击,跨站脚本攻击的方式是恶意攻击者在网页中嵌入恶意脚本程序,当用户打开网页的时候脚本程序便在客户端执行,盗取客户的cookie及用户名和密码,下载执行病毒及木马程序,甚至获得客户端的admin权限等。
使用过滤函数,禁用cookie
CSRF攻击
CSRF
(跨站请求伪造)是一种恶意的攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令
使用token验证,禁用cookie,校验Referer参数
常用的过滤函数:
htmlspecialchars
把预定义的字符转换为 HTML 实体预定义字符为:
& (和号)成为 &
“ (双引号)成为 “
‘ (单引号)成为 ‘
< (小于)成为 <
> (大于)成为 >
注意:在使用
htmlspecialchars
函数时默认第二个参数为:ENT_COMPAT
只编码双引号,使用该函数的时候更多的加上第二个参数,对单引号也编码:htmlspecialchars($string,ENT_QUOTES)
- ENT_COMPAT - 默认。仅编码双引号。
- ENT_QUOTES - 编码双引号和单引号。
- ENT_NOQUOTES - 不编码任何引号。
htmlentities
把字符转换成html实体stripslashes
删除反斜杠strip_tags
去除字符串中的html标签
防范方法:
1 | A.PHP直接输出html的,可以采用以下的方法进行过滤: |