Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| Tulajdonság | Érték |
|---|---|
| Szabályazonosító | CA5396 |
| Cím | HttpOnly beállítása igaz értékre a HttpCookie esetében |
| Kategória | Biztonság |
| A javítás romboló vagy nem romboló | Nem törhető |
| Alapértelmezés szerint engedélyezve a .NET 10-ben | Nem |
| Alkalmazandó nyelvek | C# és Visual Basic |
Ok
System.Web.HttpCookie.HttpOnly beállítás értéke : false. Ennek a tulajdonságnak az alapértelmezett értéke a következő false: .
Szabály leírása
Mélységi védelmi intézkedésként győződjön meg arról, hogy a biztonsági szempontból érzékeny HTTP-cookie-k HttpOnlyként vannak megjelölve. Ez azt jelzi, hogy a webböngészőknek le kell tiltania a szkriptek hozzáférését a cookie-khoz. Az injektált rosszindulatú szkriptek gyakran ellopják a cookie-kat.
Szabálysértések kijavítása
Állítsa a System.Web.HttpCookie.HttpOnly elemet true értékre.
Mikor kell letiltani a figyelmeztetéseket?
Ha a globális érték HttpOnly be van állítva, például az alábbi példában:
<system.web> ... <httpCookies httpOnlyCookies="true" requireSSL="true" /> </system.web>Ha biztos benne, hogy nincsenek bizalmas adatok a cookie-kban.
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 CA5396
// The code that's violating the rule is on this line.
#pragma warning restore CA5396
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.CA5396.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.
Példa
Megsértés:
using System.Web;
class ExampleClass
{
public void ExampleMethod()
{
HttpCookie httpCookie = new HttpCookie("cookieName");
httpCookie.HttpOnly = false;
}
}
Megoldás
using System.Web;
class ExampleClass
{
public void ExampleMethod()
{
HttpCookie httpCookie = new HttpCookie("cookieName");
httpCookie.HttpOnly = true;
}
}