Cakephp 1.3 cookie httponly not working


Cakephp 1.3 cookie httponly not working

我想在cakePHP 1.3中设置cookie onlyHttp,为此我搜索了许多东西并应用了许多解决方案,但它们不起作用。同样的解决方案适用于CakePHP 2.0和更高版本,谁能建议我在CakePHP 1.3中设置cookie Onlyhttp的解决方案?

CakePHP 1.3使用__write()函数来设置cookie。使用

设置cookie
setcookie(
   $this->name . $name, 
   $this->__encrypt($value), 
   $this->__expires, 
   $this->path, 
   $this->domain, 
   $this->secure
);

如你所见,httpOnly参数从未被传递。

  • 直接在你的应用中使用setcookie函数
  • 扩展CookieComponent以支持httpOnly标志
  • Hack CakePHP核心CookieComponent文件,以增加对httpOnly参数的支持(不推荐总线CakePHP 1.3不再支持,所以…)

如果您使用PHP 5.2或以上版本,您可以使用简单的setcookie设置httpOnly cookie -在PHP 5.2中引入了httpOnly标志

bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )

CakePHP在CakePHP 2.0的Cookie组件中增加了httpOnly特性