CA5396: Atur HttpOnly ke true untuk HttpCookie
Properti | Nilai |
---|---|
ID Aturan | CA5396 |
Judul | Atur HttpOnly ke true untuk HttpCookie |
Golongan | Keamanan |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 9 | No |
Penyebab
System.Web.HttpCookie.HttpOnly diatur ke false
. Nilai default properti ini adalah false
.
Deskripsi aturan
Sebagai langkah pertahanan mendalam, pastikan cookie HTTP sensitif keamanan ditandai sebagai HttpOnly. Ini menunjukkan browser web harus melarang skrip mengakses cookie. Skrip berbahaya yang disuntikkan adalah cara umum untuk mencuri cookie.
Cara memperbaiki pelanggaran
Atur System.Web.HttpCookie.HttpOnly ke true
.
Kapan harus menekan peringatan
Jika nilai HttpOnly global diatur, seperti dalam contoh berikut:
<system.web> ... <httpCookies httpOnlyCookies="true" requireSSL="true" /> </system.web>
Jika Anda yakin tidak ada data sensitif dalam cookie.
Menyembunyikan peringatan
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA5396
// The code that's violating the rule is on this line.
#pragma warning restore CA5396
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA5396.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
Contoh
Pelanggaran:
using System.Web;
class ExampleClass
{
public void ExampleMethod()
{
HttpCookie httpCookie = new HttpCookie("cookieName");
httpCookie.HttpOnly = false;
}
}
Solusi:
using System.Web;
class ExampleClass
{
public void ExampleMethod()
{
HttpCookie httpCookie = new HttpCookie("cookieName");
httpCookie.HttpOnly = true;
}
}