【问题标题】:Why would .htaccess fire twice in IE when downloading a protected XLS file?下载受保护的 XLS 文件时,为什么 .htaccess 在 IE 中会触发两次?
【发布时间】:2010-10-08 10:20:19
【问题描述】:

Basic Auth 使用较旧的 Apache 1.x 服务器上的 .htaccess 文件来保护某些目录。今天,一位用户指出,他刚刚发布的文件两次请求用户名/密码 - 一次是在进入目录查看索引时,然后是在下载文件时再次请求。发现这很奇怪,我研究了双重触发 .htaccess 身份验证的常见问题:

运气不好。更令人困惑的是 Firefox/Chrome/Safari 不会询问两次 - 只有 IE(6 和 7)。进一步调查表明,PDF 文件不会发生这种情况——只有 Excel 文件——甚至是空白文件。

Excel 是否以某种方式回调到服务器,这需要第二次身份验证?为什么它只发生在 IE 中?

不重要 - 但我很好奇是什么原因造成的。

编辑 - 我认为 bmdhacks 做到了。观察网络流量,Excel+IE 使用称为“Microsoft 协议发现”的不同用户代理返回第二个请求

【问题讨论】:

    标签: apache excel .htaccess


    【解决方案1】:

    我不确定 Excel,但 Windows Media Player 与 IE 有一个特殊的交互,当 IE 请求具有 Windows Media Player 拥有的 MIME 类型的文件时,它不会将下载的文件交给 WMP,而是指示 Windows媒体播放器下载文件本身。这可能导致请求文件两次,一次是 IE 请求文件,第二次是 WMP 下载文件。

    Microsoft 也有可能在 Excel 等其他产品中使用此机制。您可以通过查看在第二个请求中提交的 User-Agent 标头来发现这一点。在 Windows Media 案例中,它实际上在第二次请求时从 IE 变为 WMP 的 User-Agent。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      相关资源
      最近更新 更多