Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschap | Waarde |
|---|---|
| Regel-id | CA5365 |
| Titel | HTTP-headercontrole niet uitschakelen |
| Categorie | Beveiliging |
| Fix kan brekend of niet-brekend zijn | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Nee |
| Toepasselijke talen | C# en Visual Basic |
Oorzaak
Stel EnableHeaderChecking in op false.
Beschrijving van regel
Met HTTP-headercontrole kunt u de codering van de carriage return- en newline-tekens, \r en \n, die zich bevinden 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.
Hoe schendingen op te lossen
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. Het controleren van de headers heeft invloed op de prestaties. 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 voor meer informatie Hoe codeanalysewaarschuwingen te onderdrukken.
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;
}
}