【发布时间】:2015-03-24 20:29:24
【问题描述】:
我正在尝试实现一个用户友好的反 CSRF 机制。
- 目前我的应用程序使用 anti-csrf 令牌设置 cookie 和 session 变量并将其发送给用户。
- 每当用户发出不安全的请求(POST、DELETE、PUT)时,javascript 都会读取 cookie 并将令牌添加到通过 ajax 请求发送的表单中
- 在服务器上,表单值与会话包含的值进行比较。
问题是我的应用程序将在多个选项卡中打开,并且令牌很可能会在服务器上过期。
从服务器文件中获取新的 csrf 令牌是一个好习惯吗? 获取-csrf-token.php 因为无论如何攻击者都无法读取跨站点请求的响应(考虑到 jsonp 和 cors 已禁用)
编辑: 我计划在每个会话每小时保持单个 CSRF 令牌有效,并且 Web 应用程序将在一小时后重新请求新令牌
这种方法有什么问题吗?
【问题讨论】:
-
需要更多帮助吗?如果是这样,我会更新我的答案。
标签: security cross-domain csrf