【问题标题】:Howto set cookie_httponly?如何设置cookie httponly?
【发布时间】:2020-05-28 15:30:34
【问题描述】:

所以我有我使用会话的代码

$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 symfony httpcookie


    【解决方案1】:

    设置 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手册。

    【讨论】:

      猜你喜欢
      • 2017-01-30
      • 2020-03-19
      • 2011-04-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      相关资源
      最近更新 更多