未在子域中创建Csrf令牌

时间:2013-09-02 12:32:22

标签: yii csrf csrf-protection

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

配置:

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

我的代码有什么问题,或者是关于服务器的问题?

1 个答案:

答案 0 :(得分:3)

您可以在request配置的main.php组件中配置CSRF cookie params

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

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

How do browser cookie domains work?