如何设置cookie_httponly?

Howto set cookie_httponly?

所以我在使用会话的地方有我的代码

$session->start();
if (...){
...
$session->set('session', $someVar);
}

我在控制台 document.cookie 中尝试时遇到了一些问题。我如何设置 cookie_httponly,我正在使用 symfony。我应该在哪里设置它?我试图将它设置在我使用 $session->start(); 的同一个文件中。

ini_set('session.cookie_httponly', 1);
class Class 
{
$session->start();
if (...){
...
$session->set('session', $someVar);
}
}

对吗?

设置 PHP.ini 值,然后在开始会话之前设置会话 cookie 参数。

ini_set("session.cookie_domain",".".$_SERVER['SERVER_NAME']);
ini_set("session.cookie_secure",true);
ini_set("session.cookie_httponly",true);

session_set_cookie_params(
    0, 
    "/", 
    ini_get("session.cookie_domain"),
    ini_get("session.cookie_secure"),
    ini_get("session.cookie_httponly")
); 

session_start();

设置cookie:

setCookie(
    $cookie_name="CookieName",
    $cookie_value="CookieValue",
    $cookie_lifetime=time()+31536000, // 1 Year
    $cookie_path="/",
    ini_get("session.cookie_domain"),
    ini_get("session.cookie_secure"),
    ini_get("session.cookie_httponly")
)

请参阅官方 PHP 手册了解更多详情。