CA5365: HTTP-headercontrole niet uitschakelen
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA5365 |
Titel | HTTP-headercontrole niet uitschakelen |
Categorie | Beveiliging |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Nee |
Oorzaak
Stel EnableHeaderChecking in op false
.
Beschrijving van regel
Met HTTP-headercontrole kunt u de codering van de regelterugloop en nieuweregeltekens en , \r
\n
die worden gevonden in antwoordheaders, inschakelen. Deze codering kan helpen bij het voorkomen van injectieaanvallen die gebruikmaken van een toepassing die niet-vertrouwde gegevens in de header weergeeft.
Schendingen oplossen
Stel EnableHeaderChecking in op true
. Of verwijder de toewijzing naar false
omdat de standaardwaarde is true
.
Wanneer waarschuwingen onderdrukken
Http-headervervolgingen zijn afhankelijk van headers die meerdere regels omvatten en nieuwe regels erin vereisen. Als u koptekstvervolgingen moet gebruiken, moet u de EnableHeaderChecking eigenschap instellen op false
. Er is een invloed op de prestaties van het controleren van de headers. Als u zeker weet dat u de juiste controles uitvoert, kunt u deze functie uitschakelen om de prestaties van uw toepassing te verbeteren. Voordat u deze functie uitschakelt, moet u ervoor zorgen dat u al de juiste voorzorgsmaatregelen op dit gebied neemt.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA5365
// The code that's violating the rule is on this line.
#pragma warning restore CA5365
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA5365.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.
Voorbeelden van pseudocode
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = false;
}
}
Oplossing
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = true;
}
}