我在Yii框架上运行的项目上激活了csrf保护。 当基本域像“www.example.com”一样运行时,正在创建Csrf令牌。 但是当子域名像“admin.example.com”一样运行时,它不会被创建。
配置:
'components'=>array(
'request' => array(
'class' => 'application.components.HttpRequest',
'enableCsrfValidation' => true,
),
...
我的代码有什么问题,或者是关于服务器的问题?
答案 0 :(得分:3)
您可以在request
配置的main.php
组件中配置CSRF cookie params:
'components' => array(
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
),
),
),
查看其他cookie options。您可能还需要调整cookie路径。这也可能有所帮助: