微信扫码登录授权过程中state字段的用法

问题描述

最近在实现微信扫码登录这一块,然后看到state字段上面说是可以防csrf攻击
https://img3.mukewang.com/5c9cc03f0001762608500339.jpg但是一直想不明白state在这过程中的作用,我对csrf的理解不深,从网上搜寻各种相关文章,使用到最多的估计就是下面这张图片了
https://img1.mukewang.com/5c9cc04f0001965408490480.jpg那么现在假设一个用户扫完码后由于某些原因扫码后的响应还没到,但是该平台的回调url已被窃取,然后被人设置到某个网页上,用户又刚好点到该网页上的这个链接,导致该网页可以冒名顶替该用户登录,进入到登陆后的页面。但是问题是,如果别人已经提前知道了回调的url并设置在了网页上,那么他应该不知道code的值,那么在服务器端判断是否带有code不就可以了吗,那如果code被获取到了,那state也会被获取到啊,那state发挥的作用在哪,不知道是不是我对csrf的理解有问题,或者说还没有其他攻击的场景,跪求大佬解释,感激不尽!


尚方宝剑之说
浏览 2230回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP