【发布时间】:2018-09-17 12:23:19
【问题描述】:
我有一个 Web 应用程序,它使用标志 HttpOnly、路径和安全设置会话 cookie PHPSESSID。仅在访问 https url 时设置安全。
如果 cookie 是由 http 请求设置的,则同样会被 https 共享,反之亦然。如何在具有相同 cookie 名称 PHPSESSID 的同一浏览器中维护两个不同的会话,一个用于 http,另一个用于 https。
【问题讨论】:
-
这听起来不像是你将来会喜欢的想法。
-
我同意@JaredFarrish,这通常是一个问题,它告诉您您做错了什么。通常,您会将所有非 https 请求转发到 https 并安全地执行所有操作。如果您出于某种原因不这样做,请查看php.net/manual/en/… 或找出一种在转换时查找会话想法的方法,请参阅php.net/manual/en/function.session-name.php。
-
不仅是http deprecated in the browser,还要考虑影响支持;这产生了两个可能难以辨别的范围。使整个网站成为 https,使用 Let's Encrypt 基本上是免费的。您可以详细描述一下这具体为您解决了什么问题,以便确定解决方案的适当性。
-
我要同意这里的其他人的观点:既然你已经有了 https,那么你根本不应该考虑使用不安全的 http。切换到 100% https。
标签: php