CA5365: Inaktivera inte HTTP-rubrikkontroll
Property | Värde |
---|---|
Regel-ID | CA5365 |
Title | Inaktivera inte HTTP-rubrikkontroll |
Kategori | Säkerhet |
Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
Aktiverad som standard i .NET 9 | Nej |
Ställ in EnableHeaderChecking på false
.
HTTP-rubrikkontroll möjliggör kodning av vagnreturen och nya radtecken och \r
\n
, som finns i svarshuvuden. Den här kodningen kan bidra till att undvika inmatningsattacker som utnyttjar ett program som ekar ej betrodda data som finns i huvudet.
Ställ in EnableHeaderChecking på true
. Eller ta bort tilldelningen till false
eftersom standardvärdet är true
.
HTTP-huvudfortsättningar förlitar sig på rubriker som sträcker sig över flera rader och kräver nya rader i dem. Om du behöver använda rubrikfortsättningar måste du ange EnableHeaderChecking egenskapen till false
. Det finns en prestandapåverkan från att kontrollera rubrikerna. Om du är säker på att du redan gör rätt kontroller kan det förbättra programmets prestanda om du inaktiverar den här funktionen. Innan du inaktiverar den här funktionen bör du se till att du redan vidtar rätt försiktighetsåtgärder i det här området.
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable CA5365
// The code that's violating the rule is on this line.
#pragma warning restore CA5365
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.CA5365.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = false;
}
}
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = true;
}
}
Feedback om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback: