将 csrf 令牌存储在元标记中是一种好习惯吗?
Posted
技术标签:
【中文标题】将 csrf 令牌存储在元标记中是一种好习惯吗?【英文标题】:Is it a good practice to store the csrf token in meta tag? 【发布时间】:2015-06-23 04:41:34 【问题描述】:如果我在不使用表单的情况下发出 POST 请求,并且想要防止 CSRF 攻击,我可以做的是在 meta 标签中设置 csrf-token,并在触发请求时将其放回 header。这是一个好习惯吗?
<meta name="csrf-token" content="xxx">
通过标头放回令牌,例如使用 JQuery:
$.ajaxSetup(
headers:
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
);
【问题讨论】:
【参考方案1】:是的,如果您使用 AJAX,这是一个很好的做法。您也可以将令牌放在表单中(如果提交整个表单会更方便),但如果您使用的是 AJAX,则只需要去某个地方抓取即可。
在隐藏字段或元标记内都是很好的选择。
【讨论】:
以上是关于将 csrf 令牌存储在元标记中是一种好习惯吗?的主要内容,如果未能解决你的问题,请参考以下文章
将函数放入 javascript 对象中是一种好习惯吗? [复制]
将 UICollectionView 和 UITableView 放在 iOS 的 UIScrollView 中是一种好习惯吗?
将嵌入式码头和 GRPC 服务器运行在同一个 JVM 中是一种好习惯吗?