为什么这些网址细分会产生404?

时间:2014-06-19 08:44:37

标签: asp.net-web-api url-routing

我们的测试员是模糊测试大师。

他发现在我们的网络API中将某些值放入网址段似乎总是会产生404,但我无法弄清楚原因。以下是一些例子:

  • .,#';][=-> => 404
  • <~@:}{+_) =&gt; 404
  • + =&gt; 404
  • .,# =&gt; 404
  • .#, =&gt;路线正确

例如,通常看起来像

的路线

http://api.mythingy.com/one/two/three

如果您将其中一个细分更改为其中一个错误字符串&#39;以上:

http://api.mythingy.com/one/.,#/three

总是给出404。

我在那里看不到类似逃逸序列的东西。我确实看到了一些狡猾的价值观(比如<,但“&#39; 404&#39;”行为似乎优先于“不良请求”行为。

有谁能说明为什么会这样?

编辑:使用调试器告诉我应用程序本身没有被命中(即Global.asax Application_BeginRequest()中的断点未被命中)。所以这可能发生在IIS中。

1 个答案:

答案 0 :(得分:0)

为什么它应该返回一个400错误的请求? 404是请求不存在路线的正确答案。

。#,将起作用,因为#是fragemts的特殊标识符。 (http://en.wikipedia.org/wiki/URI_scheme