Cakephp 1.3 cookie httponly无法正常工作

时间:2016-10-22 08:16:43

标签: php cakephp cookies session-cookies cakephp-1.3

我想在cakePHP 1.3中设置cookie onlyHttp为此我搜索了许多东西并应用了许多解决方案,但它们无法正常工作。相同的解决方案适用于CakePHP 2.0及更高版本,任何人都可以建议我在CakePHP 1.3中设置cookie Onlyhttp的解决方案。

2 个答案:

答案 0 :(得分:0)

我使用的是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功能

答案 1 :(得分:0)

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不再支持,所以...)