gpt4 book ai didi

php - 为什么我们在操作前禁用 Yii2 中的 enableCsrfValidation?

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:57 25 4
gpt4 key购买 nike

我昨天将 Yii2 升级到最新版本,升级后我的大部分网络 Controller / Action 都给了我

400 bad request Unable to verify your data submission ....

经过一些谷歌搜索后,解决方案是在每个操作的操作前使用 Yii::$app->controller->enableCsrfValidation = false; 给你这个错误。

我需要了解我为什么这样做,它安全吗?还有其他解决方案吗?我不认为这种方式是解决此错误的最佳方式。

最佳答案

这是目前已知的错误(参见 https://github.com/yiisoft/yii2/issues/4497 和其他)。Csrf cookie 生成正确,但验证不正确,因此失败。 代表Cross Site Request Forgery ,一种强制客户端执行对服务器的请求的攻击方法。为每个请求使用唯一生成的 token ,您就不可能进行此类攻击,因为攻击者不知道也无法猜到该 token 。

所以是的,删除此选项会带来轻微的安全风险,但不是很大(这取决于您的应用程序以及您可以对单个请求执行的操作)。您可能需要等待下一次更新,他们已经在解决这个问题。

在当前版本中,这是解决问题的唯一绕过方法,除非您想自己深入研究代码并在他们执行之前修复它(我不建议这样做)。

希望对您有所帮助。

关于php - 为什么我们在操作前禁用 Yii2 中的 enableCsrfValidation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198381/

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