2

我有 Drupal 5 站点,单击按钮并调用 JavaScript 函数。该函数基本上构建一个字符串,然后重定向到我们网站上的另一个页面。单击按钮后,有时用户会退出并看到“拒绝访问”屏幕,即使他们之前已登录。他们被重定向的页面与前一个页面具有相同的访问限制,但不管怎样,他们不应该被注销。

一个用户大约有一半的时间会发生这种情况(另一半它应该正常工作),而另一个用户报告说在单击该按钮时总是被注销。但是,我总是能够在我使用的机器上顺利运行它,我怀疑这与使用 IE6 的机器有关。以前有没有人遇到过这个问题,或者对可能导致此问题的原因有任何想法?我在Drupal论坛上搜索和发帖,在这个论坛上搜索过,还没有运气。

4

2 回答 2

3

很多事情浮现在脑海。

  • 页面是否被重定向到同一个域?就 cookie 而言,domain.com 和 www.domain.com 并不相同(取决于它们的设置方式)。
  • 你能在任何浏览器中 100% 可靠地重现它吗?没有冒犯您的用户,但用户是骗子(或至少不善于报告技术错误)。我不会相信用户告诉我的事实(“哦,好吧,是的,我在尝试之间关闭了浏览器。但这不重要。”)。
  • 服务器上是否正在运行正在清除会话的东西,或者会话过期限制设置的太宽松了?

道德:先去尝试重现问题,这样你就可以准确地缩小问题的范围。我建议使用 Firebug + Firecookie 来调试 Firefox 和一般 cookie 问题,使用 Fiddler2(代理)来调试 IE。

于 2008-09-23T00:29:03.830 回答
1

老实说,我认为最好的方法是发布导致此问题的代码。

Drupal 使用 PHP 会话来执行此操作,它使用 cookie……是否有任何用户关闭了 cookie?

有很多事情可能导致这种情况,重定向到不同的域,清除会话(/tmp cleanup?),但通常,我会把这样的事情放到浏览器中。

询问他们是否仍然可以使用其他浏览器进行复制(尝试使用 firefox)...检查他们的 cookie 安全设置等。

于 2008-09-23T00:34:50.713 回答