Bagikan melalui


CA5363: Jangan nonaktifkan validasi permintaan

Properti Nilai
ID Aturan CA5363
Judul Jangan nonaktifkan validasi permintaan
Golongan Keamanan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif
Diaktifkan secara default di .NET 8 Tidak

Penyebab

Atribut ValidateInput diatur ke false untuk kelas atau metode.

Deskripsi aturan

Validasi permintaan adalah fitur di ASP.NET yang memeriksa permintaan dan menentukan apakah permintaan tersebut berisi konten yang berpotensi berbahaya yang dapat menyebabkan serangan injeksi, termasuk scripting lintas situs.

Cara memperbaiki pelanggaran

Atur atribut ke ValidateInputtrue atau hapus sepenuhnya. Atau, gunakan AllowHTMLAttribute untuk mengizinkan HTML di bagian tertentu dari input.

Kapan harus menekan peringatan

Anda dapat menekan pelanggaran ini jika semua payload dalam permintaan HTTP masuk bersumber dari entitas tepercaya dan tidak dapat dirusak oleh iklan sebelum atau selama transportasi.

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

Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.

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

Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.

Contoh kode semu

Pelanggaran

Sampel kode semu berikut mengilustrasikan pola yang terdeteksi oleh aturan ini. Ini menonaktifkan validasi input.

using System.Web.Mvc;

class TestControllerClass
{
    [ValidateInput(false)]
    public void TestActionMethod()
    {
    }
}

Solusi

using System.Web.Mvc;

class TestControllerClass
{
    [ValidateInput(true)]
    public void TestActionMethod()
    {
    }
}