2

我在 Yii 框架上运行的项目上激活了 csrf 保护。当基本域像“www.example.com”一样运行时,正在创建 Csrf 令牌。但是当子域像“admin.example.com”一样运行时,它不会被创建。

配置:

'components'=>array(
        'request' => array(
            'class' => 'application.components.HttpRequest',
                    'enableCsrfValidation' => true,
            ),
             ...

我的代码有什么问题还是与服务器有关?

4

1 回答 1

3

您可以在配置中的组件中配置CSRF cookie 参数requestmain.php

'components' => array(
    'request' => array(
        'csrfCookie' => array(
            'domain' => '.example.com',
        ),
     ),
 ),

查看其他cookie 选项。您可能还需要调整 cookie 路径。这也可能有帮助:

浏览器 cookie 域如何工作?

于 2013-09-02T18:09:47.433 回答