某些 IE9 用户无法使用某些凭据使用 htpasswd 登录



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

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

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

我完全被难住了。我唯一能想到的是,不知何故,非工作凭据中的字母/数字组合导致了......什么?为什么只在IE9(可能还有IE8)中?

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


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

  • 选中"记住密码"没有区别
  • 粘贴与键入密码没有区别

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

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

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

和 IE9,当失败时发送:

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

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

IE9解码为用户名:密码[加一个空格]

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

最新更新