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


CA5395: Miss HttpVerb attribútum a műveleti módszerekhez

Tulajdonság Érték
Szabályazonosító CA5395
Cím Miss HttpVerb attribútum a műveleti módszerekhez
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 8-ban Nem

Ok

Nem adja meg a http-kérés típusát kifejezetten a műveleti módszerekhez.

Szabály leírása

Az adatokat létrehozó, szerkesztendő, törölhető vagy egyéb módon módosító összes műveletmetelyt az antiforgery attribútummal kell védeni a helyek közötti kérelemhamisítási támadásoktól. A GET művelet végrehajtásának olyan biztonságos műveletnek kell lennie, amelynek nincsenek mellékhatásai, és nem módosítja a tárolt adatokat.

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

Jelölje meg a műveleti módszereket attribútummal HttpVerb .

Mikor kell letiltani a figyelmeztetéseket?

A szabályból származó figyelmeztetéseket nyugodtan letilthatja, ha:

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

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

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

Példák pszeudokódokra

Megsértése

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

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

Megoldás

using Microsoft.AspNetCore.Mvc;

[ValidateAntiForgeryToken]
class BlahController : Controller
{
}

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