0

我有一个 web 应用程序,对于所有具有 Bearer 类型的 Authorization 请求标头的请求,根本没有返回任何状态代码。

我用 IIS 中的一个新站点和一个 index.html 文件做了一个小的概念证明。

我对这个网站做了四个请求: 四个请求

  • _t=A 是没有 Authorization 标头的请求。
  • _t=B 是 Authorization 标头设置为 Bearer 的请求
  • _t=C 是 Authorization 标头设置为 Basic 的请求
  • _t=D 是 Authorization 标头设置为 Basicc 的请求

所有四个请求都发送了相同的响应,看起来状态代码没有发送到具有 IIS 未知的授权方案的请求。

在 WS3SVC 日志文件中,所有请求的状态都为 200:

#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2016-08-19 13:37:41 ::1 GET /index.html _t=A 5443 - ::1 HTTP/2.0 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 4
2016-08-19 13:37:53 ::1 GET /index.html _t=B 5443 - ::1 HTTP/1.1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 1
2016-08-19 13:38:05 ::1 GET /index.html _t=C 5443 - ::1 HTTP/2.0 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 3
2016-08-19 13:38:14 ::1 GET /index.html _t=D 5443 - ::1 HTTP/1.1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 3

我还在另一台机器(也是 Windows 10 和 IIS 10.0)上对此进行了测试,它具有相同的行为。

虽然它不会通过不发送状态码来破坏网站,但我仍然认为必须有办法解决这个问题。

4

0 回答 0