假设您只想通过HTTPS将cookie发送到客户端 - 而不是通过HTTP。您可以使用this文章中提到的HTTP安全标志。但是,由于您可以使用Apache mod_rewrite模块从您的站点的HTTP版本向用户发送重定向到HTTPS版本,这是否意味着它将保护cookie?换句话说,服务器是否在发送重定向时发送您的cookie?
答案 0 :(得分:0)
如果要从HTTP重定向到HTTPS然后设置cookie,这些cookie将通过HTTPS设置。假设您将用户从http://www.example.com
重定向到https://www.example.com
,从Set-Cookie
发送给用户的www.example.com
标头将在传输过程中加密。
但是,如果用户返回并在其浏览器中输入http://www.example.com
,如果未在Cookie上设置Secure Flag,则Cookie将通过HTTP发送,未加密。
如果您网站上的任何内部链接是HTTP,其他网站上的任何链接都是HTTP,或者MITM攻击者从您的网站注入另一个网站上的HTTP资源(例如<img src="http://www.example.com/x.jpg" />
会泄漏),也会发生这种情况通过HTTP的cookie)。
这就是建议设置安全标志的原因。 HSTS可用于帮助确保仅在HTTPS上保留连接,但设置安全标志应该是主要焦点。