ASP.NET рдЕрдзрд┐рдХрддрдо рдЕрдиреБрд░реЛрдз рд▓рдВрдмрд╛рдИ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ

рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдлреАрдбрдмреИрдХ рдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╛рдЗрд▓реЗрдВ рднреЗрдЬрдирд╛ рд╕рдВрднрд╡ рдерд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рдереА рдХрд┐ ASP.NET рдореЗрдВ рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдг рд╣реИрдВред рдмреБрд░рд╛ - рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рд░


ASP.NET рдореЗрдВ, рдЖрдк web.config рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдПрдХ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<system.web> <httpRuntime maxRequestLength="1000"/> 


рдореВрд▓реНрдп рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ 4096 KB рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдиреЛрдЯ: IIS 7+ рдореЗрдВ, рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛ рд╣реИ:
 <system.webServer> <security> <requestFiltering> <!--     --> <requestLimits maxAllowedContentLength="30000000"></requestLimits> 
рд╕рд╣рд┐рдд рдЖрдкрдХреЛ рдЗрди рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

ASP.NET рдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ Global.asax рдореЗрдВ рдЕрдкрд╡рд╛рдж рдХреЛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝рдирд╛ред рд▓реЗрдХрд┐рди рдпрд╣ 2 рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХреЛрд╢рд░ рдирд╣реАрдВ рд╣реБрдЖ:
  1. рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдорд╛рдиреНрдп System.Web.HttpException рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд▓рд┐рдкрдЯреЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, HttpUnhandledException рдореЗрдВ) рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде "рдЕрдзрд┐рдХрддрдо рдЕрдиреБрд░реЛрдз рдХреА рд▓рдВрдмрд╛рдИ рдкрд╛рд░ рд╣реЛ рдЧрдИред" рдЕрдВрдЧреНрд░реЗрдЬреА рд▓реЛрдХреЗрд▓ рдореЗрдВред рд╕рд╣рд┐рдд рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ "рдХреНрд▓рд╛рдЗрдВрдЯ" рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред
  2. рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЬрдм рддрдХ рдЕрдкрд╡рд╛рдж рдкрдХрдбрд╝рд╛ рдЧрдпрд╛, рддрдм рддрдХ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рднреЗрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЬрд┐рд╕рд╕реЗ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛ред


рдирд┐рд░реНрдгрдп


рдпрд╣рд╛рдВ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рд╕реВрд╕реА рдХреА рдЧрдИ ред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЙрдорд░реЗрдб рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рдЪрд╛рд▓рд╛рдХ рд╣реИред рдпрд╣ рдЖрд╕рд╛рди рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдирд┐рдХрд▓рд╛ред Global.asax рдореЗрдВ, рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдо рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреБрдЫ рднреА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкрддреЗ рдкрд░:

  public override void Init() { base.Init(); this.BeginRequest += GlobalBeginRequest; } private void GlobalBeginRequest(object sender, EventArgs e) { var runTime = (HttpRuntimeSection)WebConfigurationManager.GetSection("system.web/httpRuntime"); var maxRequestLength = runTime.MaxRequestLength * 1024; if (Request.ContentLength > maxRequestLength) { //      Response.Redirect("~/filetoolarge/"); } } 


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗред

рдкрд╣рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
 var runTime = (HttpRuntimeSection)WebConfigurationManager.GetSection("system.web/httpRuntime"); 


рдкрд╣рд▓реЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЗрд╕рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рдЪрд░рдг рдореЗрдВ рдЖрд╡реЗрджрди рдХреА рдПрдХ рдЕрд▓рдЧ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдПред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдЗрдЯ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдкрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдкреНрд░реЛ
 var maxRequestLength = runTime.MaxRequestLength * 1024; 

рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдореВрд▓ рд╕реНрд░реЛрдд 100 KB рдХреЛ рдШрдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред ASP.NET рдмрд╛рдзрд╛ рд╕рдордЧреНрд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ (рдкреНрд░рдкрддреНрд░ ASP ASP рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред ASP, 2, .NET 3.5, IIS 6) рдлреЙрд░реНрдо рдбреЗрдЯрд╛ рдФрд░ рд╕рднреА рд╕рдВрд▓рдЧреНрди рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рдеред

рдЦреИрд░, рдпрд╣ рд╕рдм рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд╣реАрдВред рд╢рд╛рдпрдж рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рд╣рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, inclред рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рддреГрддреАрдп-рдкрдХреНрд╖ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рдпрдВрддреНрд░рдг - рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╕рднреНрдп smut рд╣реИред рд╢рд╛рдпрдж рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред

Source: https://habr.com/ru/post/In141001/


All Articles