1、原因

  • Web 应用程序通过 SSL 发送了不安全的 cookie

2、属性

  • 设置cookie的两个属性:secure与httponly;
  • secure:设置是否仅https才能传递cookie;
  • httponly:设置前端脚本是否无法操作cookie,用于防止XSS攻击

3、在PHP中解决,四种方式:

  • 修改php.ini文件,将相关属性改为true或1,全局生效;
  • 在php代码中,设置临时属性,局部生效

ini_set('session.cookie_httponly', true);
ini_set('session.cookie_cookie_secure', true);

  • 在php代码中,session_start时带参,局部生效

session_start([
'cookie_httponly' => true,
'cookie_secure' => true
]);

  • 在php代码中,set_cookie时带参,局部生效

set_cookie([name, value, expiretime时间戳, path, domain, secure, httponly ])

参考文章:

cookie 的Secure和HttpOnly属性,更安全

欢迎留言