2017-10-13 186 views
1

希望这是一个直截了当的问题。PHP - 检查cookie是否设置了安全标志

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

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

有没有一种方法来检查cookie是否在php中设置了安全标志。我希望检索cookie检查是否设置了标志,如果没有,请使用安全标志设置重新生成cookie。

有没有办法做到这一点?

+0

[Session cookies http&secure flag - 你如何设置这些?](https://stackoverflow.com/questions/22221807/session-cookies-http-secure-flag-how-do-you-设置这些) –

+1

嘿谢谢,但我不认为这回答我的问题,我想知道如何检查是否设置了安全cookie。 – Codecowboy

回答

0

SET安全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 ]]]]]]) 

您是布尔后secure = true & httponly=false

下阅读曲奇安全:

,并检查其安全性。参阅this post

说明

阵列session_get_cookie_params(无效)获取会话cookie 参数。

返回值

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

“一辈子” - cookie的以秒计的寿命。 “路径” - 路径

存储信息。 “域” - Cookie的域。

“安全” - Cookie只能通过安全连接发送。

“httponly” - Cookie只能通过HTTP协议访问。

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

这也是useful post从其他堆栈,如果你是一个一个cookie后。

+0

'session_get_cookie_params()'只是从'php.ini'获取全局值,而不是特定的cookie。 –

相关问题