【发布时间】:2012-04-05 10:06:47
【问题描述】:
我的网站上有一个“客户中心”,只能通过 HTTPS 访问。我目前正在使用单个会话 cookie 来跟踪 PHP 会话变量,例如 User_Authenticated、Client_ID 等,一旦他们登录。
我想在他们登录后将导航栏上的链接从“登录”更改为“注销 | 客户中心”。这很简单,但我的大多数网站都有指向 HTTP 而不是 HTTPS 的绝对链接.我可以让我的所有链接都是相对的,这样一旦他们登录就可以让它们保持在 HTTPS 上,但是我的网站是图形密集型的,我不能保证它们会保持在 HTTPS 上(例如,如果他们登录后在浏览器上输入http://mysite.com)。
我的问题如下:
1) 通过 HTTP 传递此 cookie 是否存在风险?我听说它可以被拦截和欺骗。那会很糟糕!
2) 对于导航栏上的链接,我可以使用两个 cookie,一个是包含其凭据的 secure_only cookie,另一个只是让浏览器知道他们是否已登录?是否可以像这样使用不同的 cookie 同时使用多个会话?
我还听说过使用基于数据库的会话管理系统,但目前这还远远超出了我的想象。我是 PHP 和 MySQL 新手(这是我的第一个网站)。
提前致谢!
【问题讨论】:
-
为什么不使用标准会话,它将所有实际会话数据存储在服务器上,只在客户端留下一个 ID?在任何情况下,任何 HTTP 都可以很容易地被嗅探到。
-
啊,是这样的吗?这就是我正在做的事情(我认为)。
标签: php http session https session-cookies