目前我知道的,存储型xss解决方法:过滤转义用户输入的脚本、标签,csrf漏洞解决方法:校验referer、加token、加验证码
而referer校验是针对存在referer的情况,因为某些请求的head里没有referer,这时不能判断请求是非法的;加token,保存在哪是个问题,如果保存在session中,当集群部署时,session不同步会导致客户端的token与处理请求的服务器的token不一致;加验证码同样的道理,而且对用户体验非常不好。
由于xss和csrf都是改变用户请求参数来达到恶意攻击的目的,所以,如果我们从参数改变这一点切入,就没有问题了,做法很简单:
将参数加密后传递,这样请求被拦截篡改的参数将不能被服务器解密,因而拒绝请求。
前台需要两个加密方法: