CSRF攻击预防:
当访问页面时,服务端随机生成个token,然后页面POST请求时,将该token带过来,服务端校验这个token是否有效,token可以放到header或请求参数中。
如果使用ajax请求,可以使用beforeSend方法设置header参数。
$.ajax({
url:'formsubmit.do',
data:{"id":id},
dataType:'json',
beforeSend:function(xhr){
xhr.setRequestHeader("_csrf_token",$('meta[name='_csrf']').attr('context'));
},
success:function(){
}
});
设置拦截器或过滤器获取header中_csrf_token的值,和服务器的token比对。
XSS攻击预防:
在Filter或拦截器中过滤特殊字符。
下面是在网上找到的一篇文章,写的很好,记录下。
http://www.cnblogs.com/Mainz/archive/2012/11/01/2749874.html