gpt4 book ai didi

php - IP和域创建不同的 session

转载 作者:行者123 更新时间:2023-12-03 23:55:13 24 4
gpt4 key购买 nike

我建立了一个带有用户登录名的网站。现在,出于某种原因,当我从站点的 IP 和站点的域输入时,会创建一个不同的 session 。

在网站中我使用了一个全局参数,命名为:ROOT 其中:

define("HOST", "localhost/final-project-management-system");
define("ROOT", "http://".HOST."/");

我在网站中给出了很多与ROOT相关的链接。

当我尝试连接到 IP 时,会创建一个初始 session ,但当我移动到涉及 ROOT 的页面之一时,会创建一个新 session 并删除旧 session 。

有人知道为什么会这样吗?

谢谢..

最佳答案

PHP session 基于 cookie 的范围,您描述的行为正是它的工作原理。

Cookie 的范围仅由基于浏览器地址栏中显示的主机名(或 IP)的字符串值定义。仅仅因为主机名解析为特定 IP,并不意味着它们共享 cookie。

如果您考虑一下,那么当您考虑共享托管环境时,将 cookie 范围基于已解析的 IP 地址可能会导致站点之间的 cookie 泄漏等重大问题。

为了使其正常工作,用户必须通过 DNS 名称​​或 IP 地址访问站点,而不是同时通过两者。您可以手动传递 session ID 来解决此问题,但不推荐这样做(至少我不推荐)。

关于php - IP和域创建不同的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com