Share via


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 \ndie 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;
    }
}