公司的H5在软件安全测试中被检查出可能存在 CSRF 攻击,网上找了一堆解决方法,最后用这种方式解决了。
CSRF 是 Cross Site Request Forgery的缩写(也缩写为也就是在用户会话下对某个 CGI 做一些 GET/POST 的事,RIVTSTCNNARGO一这些事情用户未必知道和愿意做,你可以把它想做 HTTP 会话劫持。
解决方案:建议做如下安全加固: 在 Web 应用程序侧防御 CSRF 漏洞,一般都是利用referer、token 或者验证码。
实际上我们查看这个问题也就发现系统存在使用post方式 使用referer参数请求腾讯网这个网址会出现不安全的问题。
直接从nginx上面考虑,直接禁掉referer这个参数请求,在nginx.conf中添加下面参数:
- valid_referers none blocked server_names;
- if ($invalid_referer) {
- return 403;
- }
//这里要注意的是:if后面必须有空格,要不然会导致你的nginx起不来。