CA5363: Nezakazujte ověření požadavku

Vlastnost Hodnota
ID pravidla CA5363
Název Nezakazovat ověřování požadavků
Kategorie Zabezpečení
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení v .NET 8 No

Příčina

Atribut ValidateInput je nastaven na false třídu nebo metodu.

Popis pravidla

Ověření požadavku je funkce v ASP.NET, která zkoumá požadavky HTTP a určuje, jestli obsahují potenciálně nebezpečný obsah, který může vést k útokům prostřednictvím injektáže, včetně skriptování mezi weby.

Jak opravit porušení

ValidateInput Nastavte atribut true na nebo ho úplně odstraňte. Případně můžete AllowHTMLAttribute povolit HTML v určitých částech vstupu.

Kdy potlačit upozornění

Toto porušení můžete potlačit, pokud veškerá datová část příchozího požadavku HTTP pochází z důvěryhodné entity a nelze s ni před přenosem manipulovat nežádoucí osobou nebo během přenosu.

Potlačení upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

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

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.

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

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Příklady pseudokódu

Porušení

Následující ukázka pseudokódu znázorňuje vzor zjištěný tímto pravidlem. Tím se zakáže ověření vstupu.

using System.Web.Mvc;

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

Řešení

using System.Web.Mvc;

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