PHP-xss漏洞通用解决方案

PHP-xss漏洞通用解决方案

瑾兮 发布于 2016-12-04 字数 278 浏览 1258 回复 3

可能重复的问题
如何有效防止XSS攻击/AJAX跨域攻击

最近项目开发中,出现了xss漏洞的问题,最后解决是直接编码$_REQUEST变量。
请问大家在做系统时有没有更好的通用性解决方案

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2017-07-20 3 楼

XSS攻击可能出现的地方大多是在以下地方:
搜索关键词
用户昵称
富文本编辑器
url跳转
cgi自定义回调函数

对于XSS攻击,一般采用以下方式:

接收参数时:过滤危险代码、限定可处理参数范围
前台提交前:过滤危险代码、对HTML进行转义
后台接受后:过滤危险代码、对HTML进行转义
后台输出前:过滤危险代码、过滤自定义回调函数名
前台输出前:过滤危险代码、避免使用document.write 
反跳页面:只对可信域和白名单进行跳转

在接收URL参数时不应该带有任何可执行代码,因而强制过滤关键字,对其中符号“+”、“-”、“<”、“>”、“'”、“"”、“/”、“&”、“$”进行转义:encodeURIComponent()

这样操作后一般都能避免

浮生未歇 2017-01-20 2 楼

xss攻击,可以运用方法都测试是否是攻击
function xss_check() {

$tmp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
if(strpos($tmp, '<') !== false || strpos($tmp, '"') !== false || strpos($tmp,'CONTENT-TRANSFER-ENCODING')!==false) {
exit('request_tainting');
}
return true;
}