Megosztás a következőn keresztül:


CA5363: Ne tiltsa le a kérések érvényesítését

Tulajdonság Érték
Szabályazonosító CA5363
Cím Ne tiltsa le a kérelmek érvényesítését
Kategória Biztonság
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 9-ben Nem

Ok

Az attribútum ValidateInput egy osztályhoz false vagy metódushoz van beállítva.

Szabály leírása

A kérelmek érvényesítése a ASP.NET egyik funkciója, amely megvizsgálja a HTTP-kéréseket, és meghatározza, hogy tartalmaznak-e potenciálisan veszélyes tartalmakat, amelyek injektálási támadásokhoz vezethetnek, beleértve a helyek közötti szkriptelést is.

Szabálysértések kijavítása

Állítsa be az ValidateInput attribútumot true teljes egészében, vagy törölje azt. Azt is megteheti AllowHTMLAttribute , hogy engedélyezi a HTML-t a bemenet bizonyos részeiben.

Mikor kell letiltani a figyelmeztetéseket?

Ezt a szabálysértést mellőzheti, ha a bejövő HTTP-kérés összes hasznos adata megbízható entitásból származik, és a támadó nem tudta módosítani a továbbítás előtt vagy közben.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA5363
// The code that's violating the rule is on this line.
#pragma warning restore CA5363

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA5363.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Példák pszeudokódokra

Megsértés

Az alábbi pszeudokód-minta a szabály által észlelt mintát mutatja be. Ez letiltja a bemeneti érvényesítést.

using System.Web.Mvc;

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

Megoldás

using System.Web.Mvc;

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