CSRF攻击、防止CSRF攻击原理及配置

CSRF攻击

当用户在浏览器访问服务器,服务器给用户返回一个表单时,用户的ticket身份凭证会存放在cookie当中,如果用户在提交表单前去浏览病毒网站,病毒网站会窃取cookie信息,获得凭证,此时表单提交的目标也是已知,所以病毒网站会通过post请求模拟用户发送请求,这样用户的财产安全就会受到侵犯。

Security底层防止CSRF攻击方式

非异步请求防止

当服务器想用户返回一个表单页面的时候,会顺便发送一个隐藏域,存储着tocken,是随机生成的,每次都是不同的,当CSRF攻击时候,虽然ticket凭证信息正确,但是tocken没法获取到,因此请求就会失败,当用户请求时即会成功。

 异步请求防止

在html页面中加入meta

<!--访问该页面时,在此处生成CSRF令牌-->

<meta name="_csrf" th:content="${_csrf.token}">

<meta name="_csrf_header" th:content="${_csrf.headerName}">

在js中

//发送AJAX请求之前,将CSRF令牌设置到请求头当中

var token=$("meta[name="_csrf"]).attr("content");

var header=$("meta[name="_csrf_header"]).attr("content");

$(document).ajaxSend(function(e,xhr,options){

xhr.setRequestHeader(header,token);

});

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大磊程序员(“hello world”)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值