【问题标题】:PHP - Check if cookie was set with secure flagPHP - 检查cookie是否设置了安全标志
【发布时间】:2018-03-25 03:08:47
【问题描述】:

希望这是一个直截了当的问题。

我们正在将站点从 http 移动到 https,http 站点设置了一些 cookie,允许设备访问某些区域。我重新编写了代码以使用安全标志设置 cookie,以便它必须通过 HTTPS 返回。

我们有几个设备可供我们物理访问,但我需要更改它们上的 cookie。

有没有办法检查 cookie 是否在 php.ini 中设置了安全标志。我希望检索 cookie 检查是否设置了标志,如果没有,则使用设置的安全标志重新生成 cookie。

有没有办法做到这一点?

【问题讨论】:

标签: php cookies


【解决方案1】:

设置安全 Cookie: 设置安全标志,如 postPHP reference

//php code to create secure cookie.    
bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )

你在追求 bool secure = true & httponly=false

读取 Cookie 是否安全:

并检查其是否安全。参考this post

说明

array session_get_cookie_params ( void ) 获取会话cookie 参数。

返回值

返回一个包含当前会话 cookie 信息的数组,即 数组包含以下项目:

"lifetime" - cookie 的生命周期,以秒为单位。 “路径” - 路径

存储信息的位置。 "domain" - cookie 的域。

"secure" - cookie 只能通过安全连接发送。

"httponly" - cookie 只能通过 HTTP 协议访问。

//php code to check if its secure
$CookieInfo = session_get_cookie_params();
var_dump($CookieInfo);
echo $CookieInfo['secure'];

如果您在单个cookie之后,这也是来自其他堆栈的useful post

【讨论】:

  • session_get_cookie_params() 只是从 php.ini 获取全局值,而不是针对特定 cookie。
猜你喜欢
  • 1970-01-01
  • 2016-02-18
  • 2012-03-10
  • 2011-03-09
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
相关资源
最近更新 更多