gal*_*gal 2 php session session-cookies web
我已经建立了一个用户登录的网站.现在,出于某种原因,当我从网站的IP和网站的域中输入时,会创建一个不同的会话.
在网站中我使用了一个名为:ROOT的全局参数,其中:
define("HOST", "localhost/final-project-management-system");
define("ROOT", "http://".HOST."/");
Run Code Online (Sandbox Code Playgroud)
我ROOT在网站上提供了很多相关的链接.
当我尝试连接到IP时,会创建一个初始会话,但是当我移动到其中一个涉及的页面时ROOT,会创建一个新会话并删除旧会话.
有谁知道为什么会这样?
谢谢 ..
PHP会话基于cookie的范围,您描述的行为正是其工作原理.
Cookie的范围仅由基于浏览器地址栏中显示的主机名(或IP)的字符串值定义.仅仅因为主机名解析为特定IP,并不意味着它们共享cookie.
如果您考虑一下,那么在您考虑共享托管环境时,将cookie范围基于已解析的IP地址可能会导致网站之间的cookie泄漏出现重大问题.
为了正确有这个工作,用户必须通过访问该网站或者 DNS名称或 IP地址,而不是两个.你可以手动传递会话ID来解决这个问题,但不建议这样做(不管是我,不管怎样).