1.服务器会在cookie中保存一个csrf_token_key, 用作钥匙。
2.服务器会在页面生成时,获取csrf_token_key这个钥匙, 生成一个随机的csrf_token令牌,当表单提交时,获取到csrf_token 通过 csrf_token_key解密比较是否一致。
1.csrf_token要随机,而且是要用csrf_token_key来完成这个随机,并保证可以验证和比较
2.为什么csrf_token要随机呢?因为服务器并没有验证这个csrf_token的重复和时效,这是我不太理解的地方,但大多数的网站都是这样做的,很疑惑。
所以,只要满足这些条件就可以
二选一:
回到题目,我觉得你描述的做法是加大攻击者取得和重复利用 csrf token 的难度,并非一定要这么做。