0

我们每天有大约 100 名用户访问我们的网站。他们中的大多数人在登录时都没有问题。但是,我们每个月都会收到一次电话或电子邮件投诉,抱怨用户只看到登录页面刷新,没有错误消息或任何东西。

所有错误消息都通过 PHP 会话 cookie 发送,当然登录后的所有内容都基于该会话。我认为页面只是刷新的唯一原因是因为他们在本地机器上阻止了该会话 cookie ......

现在大多数情况下,用户都在 Internet Explorer 上,但偶尔也会出现在 Chrome 或 Firefox 上。我什至有一个用户(在 OSX 上)尝试过 Safari、Chrome、FF——它永远不会让他们登录,页面只会刷新。我让用户将该网站添加为受信任的网站,但仍然没有运气。

这是最糟糕的,因为我无法从任何网络或任何浏览器/计算机上复制它。

有谁知道什么可能导致这样的事情?该站点正在强制使用 SSL(HTACCESS 文件重定向到 HTTPS)。该站点强制将会话 cookie 设置为仅 HTTP,并且 Secure 标志也设置为 TRUE(这两个是最近的更改)。

我不确定服务器或 PHP 实例上的其他设置会导致这样的事情,或者它是否只是客户端问题(它似乎是)。如果是客户端,我想了解这个问题和可能的解决方案。

为了抢占所有人,不 - 我不能共享用于调试的网站 URL,因为不幸的是,客户不会欣赏这一点。感谢您的帮助,我很乐意回答我能回答的任何问题!

4

2 回答 2

0

您的会话 cookie 是否具有有效名称?过去我遇到过这个问题,如果会话 cookie 的名称无效,某些浏览器不接受它,但其他浏览器确实接受它们;

http://php.net/manual/en/function.session-name.php

于 2013-02-01T23:50:20.727 回答
0

负载均衡器后面是否有多个 Web 服务器?PHP 会话是否本地存储在每个 Web 服务器上?如果是这样,负载平衡器的工作就是确保用户在重复访问时不断返回到同一台服务器。如果出现问题,他们可能会被发送到他们没有会话的服务器。可能是一些间歇性故障将用户发送到错误的服务器。

只是猜测,因为正如其他人指出的那样,我们真的没有足够的信息。

于 2013-02-01T22:08:20.933 回答