javascript - csrf token在浏览器端如何保存可以避免cookie被窃取时csrf防御策略失效?
PHP中文网
PHP中文网 2017-04-10 18:11:43
0
1
722

1.csrf攻击过程分为五步,其中完成攻击的是有害网站带着已登录可信网站的用户的cookie向可信网站发起请求,通过cookie假冒已登录用户的身份登录,将用户的敏感信息发送给攻击者。

2.防御csrf的策略:检查Referer添加并验证token相结合
问题来了,怎么保证token的安全,token应该存放在哪里?

放在cookie中,设置httponly属性,cookie被攻击者发送给服务器时,token也被发送了,起不到作用。
那么怎么保存token呢,淘宝、京东之类的是怎么做的呢,请各位不吝赐教。

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
Ty80

Token可以放在cookie中,在HTTP请求时,可以在form表单中加上一项<input type="hidden" value="your token">,提交给后台校验提交的token是否和cookie中的token一致。

CSRF的源站是获取不到cookie里的token的,所以它没办法模拟这样一个POST请求。至于httponly,实际上是用于防止XSS了,一般来讲跟CSRF关系不大。

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!