gpt4 book ai didi

php - Yii 2.0 AJAX 请求的 CSRF 验证

转载 作者:可可西里 更新时间:2023-11-01 12:36:57 24 4
gpt4 key购买 nike

我有一个 ajax 函数可以触发从我的数据库中删除条目。

我需要对其进行 CSRF 验证。我该怎么做?

我发送了 CSRF cookie 和我的发布请求,但是 Yii 2.0 没有验证它并且通过 ajax 传递的任何输入都到达了服务器。

如何对 ajax 请求进行 CSRF 验证。

是否需要手动设置cookie并检查?

最佳答案

您不需要手动设置cookie。

如果您使用的是 jQuery,CSRF token 将自动发送。

例如,对于 AngularJS,您可以手动添加它来请求这样的参数:

yii.getCsrfParam(): yii.getCsrfToken()

确保你有 YiiAsset包括在内。

否则您可以从元标记中检索它们(这基本上就是这两种方法所做的):

$('meta[name=csrf-param]').prop('content'): $('meta[name=csrf-token]').prop('content')

另请注意,为了启用 CSRF 验证,Controller的和Request的属性(property)enableCsrfValidation属性必须设置为 true .

更新:

另一件需要理解的重要事情:

CSRF token 将仅在此方法上进行验证:GET , HEAD , OPTIONS .

还要确保你有 <?= Html::csrfMetaTags ?>在主布局中。

关于php - Yii 2.0 AJAX 请求的 CSRF 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30153705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com