මම මෙම පරීක්ෂණය ලිව්වේ 'a'
බ්රව්සරය අසමත් වන තුරු පරාමිතියට එකතු කිරීමෙනි
සී # කොටස:
[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();
}
දැක්ම:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(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;
});
</script>
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 - සොයාගත නොහැකි විය ඉල්ලීම් පෙරීමේ මොඩියුලය විමසුම් දාමයේ දිග වැඩි වන ඉල්ලීමක් ප්රතික්ෂේප කිරීම සඳහා වින්යාස කර ඇත.
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 8 සහ ෆයර්ෆොක්ස් වලද එසේමය
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 වන කොටස
එකතු කරන ලදි
<headerLimits>
<add header="Content-type" sizeLimit="32768" />
</headerLimits>
එය කිසිසේත් උදව් නොකළේය. මම අවසානයේ තීරණය කළේ ශීර්ෂකය වෙතින් යොමු කිරීම ඉවත් කිරීමට ෆිද්ලර් භාවිතා කිරීමට ය.
static function OnBeforeRequest(oSession: Session) {
if (oSession.url.Contains("localhost:50766")) {
oSession.RequestHeaders.Remove("Referer");
}
ඒක හොඳට කළා.
Chrome: අක්ෂර 15613 ක් ඇත. (මම හිතන්නේ එය IIS සඳහා 16K සීමාවක්)
එය නැවත අසමත් වූයේ:
<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>
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
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 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 Emulator
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
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 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
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 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
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
4043