我在php.ini中設置session.cookie_secure 1 /真實,在後面跟着跑Apache或PHP-FPM + nginx的服務器下面的代碼 -session.cookie_secure不設置安全cookie屬性
<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
重新啓動php-fpm/apache後,'安全'屬性不會出現在Set-Cookie標頭中。使用wget和Firefox(開發工具>切換工具>網絡)
echo session_get_cookie_params()[secure];
返回1 強制HTTPS CGI參數來開/關不會有所作爲檢查。利用這種變化被證實 -
echo $_SERVER['HTTPS'];
這給在RHEL/CentOS的/ EL 6相同的結果(PHP 5.3.3),RHEL/CentOS的/ EL 7(PHP 5.4)和Gentoo(PHP 29年5月6日)