Bagikan melalui


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 8 Tidak

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;
    }
}