https 和 http 之间的 PHP SESSION 变量

标签 php http session ssl https

我有一个网站,该网站有一个安全区域 (https),​​该网站的其余部分是 http。使用 session 变量在事物的 https 端登录一切都很好,并且安全区域运行良好。

我的问题: 我在网站上每个 http 页面的顶部都有一个“登录/注册”按钮。我希望这能反射(reflect)登录状态并更改为“注销”,并且还有一些其他登录按钮可以简单地重定向到 https 页面。我没有试图以任何方式操纵 http 页面上的任何数据或其他安全信息。

在 IE8 中,https 为登录创建的 session 变量在 http(在主页上)中被检测到,它正确地显示了替代的“注销”链接。但是,在所有其他浏览器中,http 中不存在 session 变量。在不造成巨大安全漏洞的情况下解决此问题的最简单方法是什么?哦,除了 http 和 https 之外,url 是相同的。

最佳答案

许多网站使用的一种简单方法是通过脚本在客户端实际加载按钮,该脚本向 HTTPS url 发出请求以确定用户是否已登录,而不是让它的 HTML 是 HTTP 服务页面的一部分。

关于https 和 http 之间的 PHP SESSION 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689188/

相关文章:

php - 如何在 Symfony2 的单独表中存储用户角色?

php - 什么IDE对Symfony框架的支持最强?

java - HIBERNATE 在更新对象时抛出错误 :"a different object with the same identifier value was already associated with the session "

php - 数组初始化值

php - 在不停止执行的情况下抛出异常?

php - 启用 SSL 认证 (HTTPS) 后 HTTP 附加 GET 输入两次

rest - 用于获取发送 XML 文件的文档的 http POST 与 GET 请求

http - Postman 400 Web Api 错误请求

php - codeigniter 中 session 的大小

node.js - ExpressJS/PassportJS : Authentication vs. session