2017-10-13 118 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。 –

相關問題