2

某些IE9 用户无法登录到受 htpasswd 保护的文件夹

我有正常的 htaccess/htpasswd 保护文件夹。一些 IE9 用户发现一组凭据(用户/密码)不起作用,而其他组凭据则很好。

  • 只影响IE9和?IE8。Firefox、Chrome 等都可以使用在 IE 中不起作用的凭据。
  • 在 7 个 IE9 用户中,4 个无法使用这些凭据登录,3 个可以。
  • 用户名和密码均仅由字母和数字(12 和 7)组成。
  • IE9 的相同版本号出现在 can/can't 组中。
  • 缓存被排除在外,因为测试组中有 6 个是首次用户。
  • 直接访问文件而不是文件夹没有帮助。
  • .htpasswd 格式已尝试作为 crypt 和 MD5,没有区别。
  • 有问题的页面设置为无缓存,过期时间已过去。
  • 无法登录到文件夹 A 的同一用户可以登录到文件夹 B(使用不同的凭据)。
  • 无法使用凭据 A 登录的同一用户可以使用凭据 B(均为 MD5)登录。
  • 该组凭据在 .htpasswd 文件中的位置似乎没有任何区别。
  • 失败的凭据也会在不同的文件夹上失败(对于相同的 IE9 用户)。

我完全被难住了。我唯一能想到的是,非工作凭证中的字母/数字组合以某种方式导致......什么?为什么只在 IE9(也可能是 IE8)中?

我真的需要找到一个原因,而不仅仅是一个解决方案(更改这些特定的凭据),因为我们在这个站点上的各种文件夹中有几十个用户/密码组合,其中任何一个都可能受到这个问题的影响。


编辑:还检查了以下内容(因为 IE8/win7 有与这些相关的错误)

  • 检查“记住密码”没有区别
  • 粘贴与输入密码没有区别

我目前正在调查是否区分大小写、包含数字或产生的实际 MD5 哈希(包含特殊字符等)是否有任何区别。

4

1 回答 1

0

使用 curl 和 charles 我们能够确定所有其他浏览器都在发送:

授权:基本[大长序列后跟]=

和 IE9,失败时发送:

授权:基本【大长序列后跟】g

第一个解码为用户名:密码

IE9 解码为 username:password[加一个空格]

尽管用户从密码输入框中清除了空格,但 IE9 似乎有时会在编码之前错误地将空格附加到密码。

于 2013-01-31T13:51:06.027 回答