Condividi tramite


CA5395: Attributo HttpVerb mancante per i metodi di azione

Proprietà valore
ID regola CA5395
Titolo Attributo HttpVerb mancante per i metodi di azione
Categoria Sicurezza
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione
Abilitato per impostazione predefinita in .NET 8 No

Causa

Non specificando il tipo di richiesta HTTP in modo esplicito per i metodi di azione.

Descrizione regola

Tutti i metodi di azione che creano, modificano, eliminano o modificano i dati devono essere protetti con l'attributo antiforgery dagli attacchi di richiesta intersito falsi. L'esecuzione di un'operazione GET deve essere un'operazione sicura che non ha effetti collaterali e non modifica i dati persistenti.

Come correggere le violazioni

Contrassegnare i metodi di azione con HttpVerb l'attributo .

Quando eliminare gli avvisi

È possibile eliminare gli avvisi da questa regola se:

Eliminare un avviso

Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Esempi di pseudo-codice

Violazione

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

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

Soluzione

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

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