php - 在表单里加入随机字符串CSRF_TOKEN 来防止CSRF跨站攻击是什么原理?

查看:189
本文介绍了php - 在表单里加入随机字符串CSRF_TOKEN 来防止CSRF跨站攻击是什么原理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

上图是网上看到的一个跨站攻击示意图,php的框架laravel在表单里加入了一个CSRF_TOKEN来防止跨站攻击,想问这个随机字符串是在什么时候发挥作用的呢?

解决方案

csrf攻击都是面对各种表单提交等会修改网站数据的事件,但对于每个用户这个事件的url地址一般是固定的。用户可以在你的网站内部访问这个地址,那当其已登录的情况下,同样可以通过网站外部成功访问这个地址,如自己在地址栏输入:某网站/转账?to="张三"&money="100",更特殊的,可以通过js脚本隐式访问这个url,暗中修改网站数据,那么第三方网站可以访问这个地址吗?答案是可以的,就像你可以在自己网站跳转百度,进入自己的百度首页(有用户信息)。因此第三方网站可以利用你的cookie进行暗中操作,所以用户与网站间需要某种协议来防止这种随意的数据修改,表单验证中带上自有你访问此网页才能获取的token,验证通过,才能执行,此时,为了安全,你当然也不能通过地址栏输入:某网站/转账?to="张三"&money="100"来转账了。

这篇关于php - 在表单里加入随机字符串CSRF_TOKEN 来防止CSRF跨站攻击是什么原理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆