Skip to main content
 首页 » 编程设计

python之混合经过身份验证和未经身份验证的 URL、Internet Explorer 和 mod_auth_sspi

2025年05月04日15exmyth

设置:Apache 2.2、mod_auth_sspi 1.0.3/1.0.4、mod_wsgi 3.3、python 2.6.2

一些背景信息:每当 IE 访问 URL 时,需要它执行 NTLM 质询-响应,对同一域的进一步 POST 请求执行如下:

  • 执行零长度 POST(Content-Length 0)
  • 服务器回复 401。WWW-Authenticate header 包含 NTLMSSP 质询
  • 发送“真实”(全长)POST,并将授权 header 设置为 NTLMSSP_AUTH(响应)

一切正常

但是,一旦不需要身份验证的页面(服务器不响应 401)被点击,可怕的事情就会发生——零长度的 POST 被迅速转发给应用程序,随之而来的是各种奇怪的事情, - 表格没有正确提交,文件没有上传等等。我在 IE 7 和 8 中观察到这种行为。

这不是猜测,- 我实际上嗅探了流量,一切都完全按照我上面概述的方式进行。

有人遇到过这种情况吗?我想知道,在这种情况下,最干净的解决方法是什么。或者,这不是问题,我只是看到了一些东西?

请您参考如下方法:

查看 Microsoft 知识库文章 251404 ( http://support.microsoft.com/kb/251404/en-us )。

它基本上解释了发生的情况以及如何解决该问题。