【发布时间】:2011-07-08 15:39:35
【问题描述】:
我正在使用 PHP,出于某种原因,我想将会话从使用 cookie 切换到字符串,那么通过使用 GET 变量将会话与 cookie 一起使用的最佳方法是什么?我们是否需要在 GET 变量中使用会话 ID?还是其他一些事情?如果我将在 get 中使用带有会话 ID 的 GET 变量,那么我将如何根据该会话 ID 获取会话?如果有人有想法,请分享。
提前致谢。
【问题讨论】:
-
强烈建议不要使用 GET 变量来传递会话 ID。想象一下您的用户登录到您的网站,然后在互联网上发布指向您网站的链接或其他东西。现在拥有该链接的任何人都可以假装他们以该用户身份登录。更不用说,它制作丑陋的网址。
-
是的,我知道这一点,所以我也一定会寻找它的解决方案。如果您知道其他更好的方法,请告诉我,但不幸的是我必须使用 get
-
我正在开发一个 fb 应用程序。和 IE8(取决于用户的安全设置)正在将站点添加到不受信任和阻止的 cookie,所以我的客户希望它有会话,然后可以通过 GET 管理,这就是为什么..
-
关于使用 GET 传递 cookie 的另一条评论,它存储在浏览器周围的许多地方,如历史记录,更容易窃听。从安全角度来看,这通常是不可取的。如果您坚持这样做,可能值得花一些时间来确保 cookie 更安全。一些想法,例如确保它不可转让(包括用户 IP 作为 cookie 的一部分)。确保用户可以选择退出。确保用户只能有一个并发会话,并且服务器上的 cookie 超时时间很短,这将有助于解决问题
-
@Rob 感谢 Rob 的评论,我知道这不好,但是当我在一年多前发布这个问题时,这是我的一位客户要求这样做的。所以我在这里问了。
标签: php session session-cookies