Delen via


CA5363: Aanvraagvalidatie niet uitschakelen

Eigenschappen Weergegeven als
Regel-id CA5363
Titel Aanvraagvalidatie niet uitschakelen
Categorie Beveiliging
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld in .NET 9 Nee

Oorzaak

Het kenmerk ValidateInput is ingesteld false op voor een klasse of methode.

Beschrijving van regel

Aanvraagvalidatie is een functie in ASP.NET die HTTP-aanvragen onderzoekt en bepaalt of deze mogelijk gevaarlijke inhoud bevatten die kan leiden tot injectieaanvallen, waaronder scripts op meerdere sites.

Schendingen oplossen

Stel het ValidateInput kenmerk true volledig in of verwijder het. U kunt AllowHTMLAttribute ook HTML in specifieke delen van de invoer toestaan.

Wanneer waarschuwingen onderdrukken

U kunt deze schending onderdrukken als alle nettoladingen in de binnenkomende HTTP-aanvraag afkomstig zijn van een vertrouwde entiteit en niet kunnen worden gemanipuleerd door een kwaadwillende persoon vóór of tijdens het transport.

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 CA5363
// The code that's violating the rule is on this line.
#pragma warning restore CA5363

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.CA5363.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Voorbeelden van pseudocode

Schending

Het volgende pseudocodevoorbeeld illustreert het patroon dat door deze regel is gedetecteerd. Hierdoor wordt invoervalidatie uitgeschakeld.

using System.Web.Mvc;

class TestControllerClass
{
    [ValidateInput(false)]
    public void TestActionMethod()
    {
    }
}

Oplossing

using System.Web.Mvc;

class TestControllerClass
{
    [ValidateInput(true)]
    public void TestActionMethod()
    {
    }
}