1

在yii中默认选项CHttpCookie->httpOnly设置为false,整个应用配置过程中设置默认httpOnly=true吗?

PS Transfer 选项不提供,不想进入第三方扩展。

4

1 回答 1

1

一点也不。CHttpCookie在 Yii 中直接在其构造函数中使用,即:$cookie = new CHttpCookie //.... 所以没有办法注入参数。您可以按照此处所述设置每个组件,但它仍然不是全局设置。

但是你可以扩展CHttpRequest和覆盖addCookieremoveCookie强制httpOnly在那里。要简单地创建您自己的HttpRequest类,从它扩展CHttpRequest并定义它,组件使用如下:

// .. other components
'request' => [
                'class' => 'HttpRequest',
// optional:
//              'enableCsrfValidation' => true,
//              'enableCookieValidation' => true,
          ],
// .. other components

(我使用 php 5.4 数组表示法,对你来说应该不是问题吗?:))其他方法是克隆框架 git repo 并将其设置为 true...

于 2013-02-21T11:27:57.380 回答