carol 2016-03-29 21:31:32 1838次浏览 5条回复 0 0 0

今天在写微信回复的时候,发现在控制器里$GLOBALS['HTTP_RAW_POST_DATA']不能使用,提示Undefined index: HTTP_RAW_POST_DATA,好吧,用file_get_contents("php://input")也不行,但是不放框架里是可以获取到数据的,百度前几页基本都试过了,敢问各位大神怎么解决的?

  • 回复于 2016-03-30 11:27 举报

    自顶…………有没有人能提供下帮助……

  • 回复于 2016-03-30 20:29 举报

    已解决。因为默认post是需要csrf验证的,微信接口post过来的数据是没有csrf选项,所以$GLOBALS['HTTP_RAW_POST_DATA']获取不到数据,关闭csrf验证就行。

    2 条回复
    回复于 2016-04-01 16:43 回复

    很多人本会回答,但同样的问题多了自然没了回答

    回复于 2016-04-05 11:30 回复

    了解,谢谢

  • 回复于 2016-09-24 23:33 举报

    关闭csrf,然后Yii::$app->request->getRawBody()

  • 回复于 2017-01-10 10:37 举报

    yii2无法接收到post数据的真正原因,因为其为了防止CSRF攻击,对POST的数据会进行验证,而微信的数据被拦截了,因此可设置$enableCsrfValidation=false,另外也可以在app/config/web.php的config中的request里面添加

    $config = [

    'id' => 'basic',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'M6P-95oYhvzBmTI8vbeJrLMJwfvdBZY0',
            'enableCsrfValidation' => false,
        ],
    
  • 回复于 2017-02-07 15:16 举报

    已经在控制器里关了csr验证了,怎么微信回调的时候 还是报 Undefined index: HTTP_RAW_POST_DATA 这个错误啊 ???

您需要登录后才可以回复。登录 | 立即注册