【发布时间】:2015-09-30 20:36:51
【问题描述】:
我的许多表单都以multipart/form-data 提交,在我的服务器上被解析为流,并且都是异步的。等待 csrf 令牌,接收它然后拒绝它会很痛苦,同时一些表单已经被处理。因此,我发现在提交时将其设置为表单上的查询变量要容易得多。当用户请求页面时,我仍然会将它作为隐藏的表单值传递。这样做有风险吗?
【问题讨论】:
标签: authentication httprequest csrf csrf-protection
我的许多表单都以multipart/form-data 提交,在我的服务器上被解析为流,并且都是异步的。等待 csrf 令牌,接收它然后拒绝它会很痛苦,同时一些表单已经被处理。因此,我发现在提交时将其设置为表单上的查询变量要容易得多。当用户请求页面时,我仍然会将它作为隐藏的表单值传递。这样做有风险吗?
【问题讨论】:
标签: authentication httprequest csrf csrf-protection
可以使用任何方式传递 CSRF 令牌,只要它不仅仅是 cookie。
只要您在处理表单后进行重定向,这将防止您的 CSRF 令牌在 referer 标头中泄漏。
请注意,默认情况下,您的令牌可能仍会在浏览器历史记录、代理和服务器日志中泄露,而 POST 数据不会出现这种情况。但是,如果您在每个会话中重新生成 CSRF 令牌,那么这应该会限制曝光。
【讨论】: