CA5395: Chybí atribut HttpVerb pro metody akcí

Vlastnost Hodnota
ID pravidla CA5395
Název Chybějící atribut HttpVerb pro metody akce
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

Nezadávejte typ požadavku HTTP explicitně pro metody akcí.

Popis pravidla

Všechny metody akcí, které vytvářejí, upravují, odstraňují nebo jinak upravují data, musí být chráněny pomocí atributu antiforgery před útoky proti padělání požadavků mezi weby. Provedení operace GET by mělo být bezpečná operace, která nemá žádné vedlejší účinky a neupravuje trvalá data.

Jak opravit porušení

Označte metody akce atributem HttpVerb .

Kdy potlačit upozornění

Upozornění z tohoto pravidla je bezpečné potlačit, pokud:

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

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

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

Příklady pseudokódu

Porušení

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

class ExampleController : Controller
{
    public IActionResult ExampleAction()
    {
        return null;
    }
}

Řešení

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

class ExampleController : Controller
{
    [HttpGet]
    public IActionResult ExampleAction()
    {
        return null;
    }
}