sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

https://blog.csdn.net/weixin_32247165/article/details/114220540

我写了这个测试,一直在添加'a'参数,直到浏览器失败

C#部分:

[AcceptVerbs(HttpVerbs.Get)]

public ActionResult ParamTest(string x)

{

ViewBag.TestLength = 0;

if (!string.IsNullOrEmpty(x))

{

System.IO.File.WriteAllLines("c:/result.txt",

new[] {Request.UserAgent, x.Length.ToString()});

ViewBag.TestLength = x.Length + 1;

}

return View();

}

视图:

$(function() {

var text = "a";

for (var i = 0; i < parseInt(@ViewBag.TestLength)-1; i++) {

text += "a";

}

document.location.href = "http://localhost:50766/Home/ParamTest?x=" + text;

});

第1部分

在Chrome上,我得到了:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

2046

然后爆炸:

HTTP错误404.15 - 未找到请求筛选模块配置为拒绝查询字符串太长的请求。

Internet Explorer 8和Firefox上也一样

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)

2046

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

2046

第2部分

我进入了简易模式并为IISExpress applicationhost.config和web.config设置添加了额外的限制maxQueryStringLength="32768"。

Chrome failed with message 'Bad Request - Request Too Long

HTTP Error 400. The size of the request headers is too long.

在7744个字符之后。

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

7744

第3部分

这根本没有帮助。我最终决定使用fiddler从头文件中删除引用者。

static function OnBeforeRequest(oSession: Session) {

if (oSession.url.Contains("localhost:50766")) {

oSession.RequestHeaders.Remove("Referer");

}

哪个做得很好。

Chrome:得到15613个字符。(我猜这是IIS的16K限制)

它又失败了:

Bad Request - Request Too Long


HTTP Error 400. The size of the request headers is too long.

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

15613

火狐:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

15708

Internet Explorer 8因iexplore.exe崩溃而失败。

在此输入图像描述

2505之后

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)

2505

Android模拟器

Mozilla/5.0 (Linux; Android 5.1; Android SDK built for x86 Build/LKY45) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36

7377

Internet Explorer 11

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)

4043

Internet Explorer 10

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)

4043

Internet Explorer 9

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

4043

posted on 2021-03-30 19:42  sunny123456  阅读(221)  评论(0编辑  收藏  举报