如何解决在多个设备上传递的共享主机会话
很少有人遇到一种新类型的问题,即我的会话和cookie在PC和笔记本电脑上都显示相同的问题。有时它也通过另一个设备。在google搜索上,我发现很少有文章在某些情况下发生在共享托管中。
我的服务器tmp文件没有为新设备建立任何新会话,因此,在.htaccess上,我放了php_value session.save_path '/home/domain/newtmp/'
,它现在为任何新设备创建了一个新文件,并在一定时间后被cronjob删除。 / p>
我尝试创建会话令牌和Cookie来标识设备,但是两个设备上的print_r($_SESSION); print_r($_COOKIE);
都显示了与首次在浏览器中打开的设备相同的信息。
我还测试了$_SESSION['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
,此处echo $_SESSION['user_agent']
在第二个设备浏览器窗口中显示了第一个打开的设备的浏览器信息。经过40/50秒后,如果我刷新浏览器,它会根据自己的信息返回。
但是服务器tmp文件上已经显示了按会话令牌单独的会话文件。
删除所有文件后,我仅在4台虚拟主机服务器(所有共享主机都来自同一公司)中使用session_start(); $_SESSION['pass'] = rand(100,999); echo $_SESSION['pass'];
。该代码在2个托管服务器中显示相同,另外2个服务器运行正常。
我以前从未遇到过这种会话体验。
如何摆脱这个问题。我负担不起专用的托管服务,因此,如果大家都帮助我,我想解决这个问题。
对不起,我的英语。
解决方法
经过长时间的分析和谷歌搜索,我得到的这个问题的名字是“会话数据交叉”。对于任何共享托管服务器而言,这都是非常可观的现金。我还在许多共享主机中测试了我的脚本,最后发现只有我当前的主机服务器才执行这种类型的行为。因此,在转移我的托管服务器后,所有问题都得到解决。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。