某些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有时会在编码密码之前错误地将空格附加到密码。