CSRF的防范

 CSRF(Cross Site Request Forgery)是常见的web攻击,攻击者诱使用户访问一个页面,就以该用户身份在第三方站点里执行操作,进行攻击。

CSRF的攻击过程,往往是在用户不知情的情况下构造了网络请求。

1、添加验证码

  •  验证码强制用户必须与应用进行交互,才能完成最终请求。
  •  验证码是一种辅助手段,不能作为最主要的解决方案。

2、referer检查

检查请求header中的referer也能帮助防止CSRF攻击,但服务器不是总能拿到referer,浏览器可能出于安全或隐私而不发送referer,所以也不常用。图片防盗链中用得很多。

3、Anti CSRF Token

更多的是生成一个随机的token,在用户提交数据的同时提交这个token,服务器端比对后如果不正确,则拒绝执行操作

4、Use the Same-Site Flag in Cookies

The Same-Site Flag in Cookies是一种相对较新的方法,用于防止CSRF攻击。假设https://attacker.com/可以发送POST请求与会话cookie一起到https://example.com/。此会话cookie对于每个用户是唯一的,并且Web应用程序使用它来区分不同的用户其他, 并确定您是否已登录。 

如果会话cookie被标记为 同一站点cookie,它只与源自同一域的请求一起发送。因此,假设https://example.com/index.php想要发送POST请求到https://example.com/post_comment.php。使用相同的网站Cookie,这是允许的。 

但是,如果https://attacker.com/想要发布https://example.com/post_comment.php的发布请求,则会话cookie将不会与请求一起发送,因为它是不同的域。这意味着如果攻击者的网站发送请求,它会发送没有会话cookie。因此,Web应用程序假定您没有登录并拒绝请求,成功阻止了跨站点请求伪造尝试。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值