Freigeben über


CA5395: Fehlendes HttpVerb-Attribut für Aktionsmethoden.

Eigenschaft Wert
Regel-ID CA5395
Titel Fehlendes HttpVerb-Attribut für Aktionsmethoden.
Kategorie Security
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig in .NET 9 aktiviert No

Ursache

Die Art der HTTP-Anforderung wird nicht explizit für Aktionsmethoden angegeben.

Regelbeschreibung

Alle Aktionsmethoden, die Daten erstellen, bearbeiten, löschen oder anderweitig ändern, müssen mit dem antiforgery-Attribut vor Angriffen durch siteübergreifende Anforderungsfälschung geschützt werden. Die Durchführung eines GET-Vorgangs sollte eine sichere Operation sein, die keine Nebenwirkungen hat und Ihre permanenten Daten nicht ändert.

Behandeln von Verstößen

Markieren Sie die Aktionsmethoden mit dem HttpVerb-Attribut.

Wann sollten Warnungen unterdrückt werden?

Warnungen aus dieser Regel können sicher unterdrückt werden, wenn Folgendes gilt:

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

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

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

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

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Pseudocodebeispiele

Verletzung

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

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

Lösung

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

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