我有一个工作网页,该网页具有基于PHP会话的登录功能。最近,我注意到在某些浏览器(Google Chrome桌面,Vivaldi)中,我无法登录。经过一番撬动之后,我注意到会话cookie在每次重定向/页面刷新时都会更改。在移动浏览器或Edge中都不会发生这种情况。匿名Chrome窗口也可以使用。
我尝试禁用所有扩展,但没有任何改变。不过,重要的是我的服务器(Apache)在http而不是https上运行。
我不太确定该向您展示什么。该代码已经一年没有更改,并且在一个月前就可以使用。更改的是服务器配置-即session.save_path
与open_basedir
冲突。但这不应该只影响某些浏览器。我已经搜索了几个小时,不知道该怎么想。
编辑:非常有趣!我一直在使用信息图标检查cookie。当我在devtools中打开应用程序面板时,根本没有设置cookie。
会话配置:
Session Support enabled
Registered save handlers files user
Registered serializer handlers php_serialize php php_binary wddx
session.auto_start Off
session.cache_expire 180
session.cache_limiter nocache
session.cookie_domain no value
session.cookie_httponly no value
session.cookie_lifetime 0
session.cookie_path /
session.cookie_secure 0
session.gc_divisor 1000
session.gc_maxlifetime 1440
session.gc_probability 1
session.lazy_write On
session.name PHPSESSID
session.referer_check no value
session.save_handler files
session.save_path E:\xampp\tmp
session.serialize_handler php
session.sid_bits_per_character 5
session.sid_length 26
session.upload_progress.cleanup On
session.upload_progress.enabled On
session.upload_progress.freq 1%
session.upload_progress.min_freq 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_
session.use_cookies 1
session.use_only_cookies 1
session.use_strict_mode 0
session.use_trans_sid 0
答案 0 :(得分:0)
我认为“某些”浏览器会缓存内容并使旧的“会话”保持活动状态,而其他浏览器则不会,并且每次刷新后都请求/检查一个新的浏览器。我可能完全错了,但这是我的主意。