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 | CA5363 |
| Titel | Aanvraagvalidatie 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
Het kenmerk ValidateInput is ingesteld op false 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.
Hoe schendingen op te lossen
Stel het ValidateInput kenmerk in op true of verwijder het volledig. Gebruik AllowHTMLAttribute ook om HTML in specifieke delen van de invoer toe te staan.
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 voor meer informatie Hoe codeanalysewaarschuwingen te onderdrukken.
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()
{
}
}