【问题标题】:Unable to verify your data submission bad request (#400) in yii2 (if select video format)yii2 中无法验证您的数据提交错误请求(#400)(如果选择视频格式)
【发布时间】:2015-09-27 20:42:09
【问题描述】:

我是新的yii2,所以我有这个问题。我想使用文件输入,所以我添加了文件输入 这个网址http://www.yiiframework.com/doc-2.0/guide-input-file-upload.html 如果我使用文件输入创建新模型(选择视频)并且如果我删除模型中的项目,那么:** BER 请求 (#400) 无法验证您提交的数据。 如果我选择图像,它可以正常工作 yii2如何上传视频?

我的日志:

exception 'yii\web\BadRequestHttpException' with message 'Unable to verify your data submission.' in C:\xampp\htdocs\project\vendor\yiisoft\yii2\web\Controller.php:110
Stack trace:
C:\xampp\htdocs\project\vendor\yiisoft\yii2\base\Controller.php(149): yii\web\Controller->beforeAction(Object(yii\base\InlineAction))
C:\xampp\htdocs\project\vendor\yiisoft\yii2\base\Module.php(455): yii\base\Controller->runAction('delete', Array)
C:\xampp\htdocs\project\vendor\yiisoft\yii2\web\Application.php(84): yii\base\Module->runAction('music/delete', Array)
C:\xampp\htdocs\project\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request))
C:\xampp\htdocs\project\web\index.php(12): yii\base\Application->run()
{main}

请帮帮我?谢谢!

【问题讨论】:

    标签: yii2 yii-extensions fileinputstream yii2-advanced-app yii2-basic-app


    【解决方案1】:

    查看升级说明:

    [https://github.com/yiisoft/yii2/blob/master/framework/UPGRADE.md#upgrade-from-yii-20-beta][1]

    请通过在 部分:<?= Html::csrfMetaTags() ?>。这种改变是必要的,因为 yii\web\View 不再自动生成 CSRF 元标记,因为 问题 #3358

    【讨论】:

    • 我的布局头部分中有这一行,但我的 app.log 中充满了 BadRequestHttpException 条目,即使表单数据存储正常。我做错了什么?
    【解决方案2】:

    这是核心 YII2 的代码。

    if ($this->enableCsrfValidation && Yii::$app->getErrorHandler()->exception === null && !Yii::$app->getRequest()->validateCsrfToken()) {
        throw new BadRequestHttpException(Yii::t('yii', 'Unable to verify your data submission.'));
    }
    

    尝试关闭 csrf 验证。

    MyController extends Controller {
        public $enableCsrfValidation = false;
    }
    

    【讨论】:

    • 谢谢,我找到了答案。这个问题 - 我的 php 配置。它无法上传 2M 文件(php >> php.ini 文件)
    • 它对我有用,非常感谢。但是为什么我们需要禁用 csrf 验证,谁能解释一下我们需要在哪里启用 Csrf 验证以及我们需要在哪里禁用 Csrf 验证?
    • 最好的方法是始终使用 csrf。此示例仅有助于理解问题。如何处理 csrf 你可以在那里看到:stackoverflow.com/a/28479422/2655835
    猜你喜欢
    • 2015-10-15
    • 2017-06-20
    • 1970-01-01
    • 2021-12-30
    • 2014-12-15
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    相关资源
    最近更新 更多