Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
| Properti | Nilai |
|---|---|
| ID Aturan | CA5365 |
| Judul | Jangan Nonaktifkan Pemeriksaan Header HTTP |
| Kategori | Keamanan |
| Perbaikan bersifat merusak atau tidak merusak | Tidak terputus |
| Diaktifkan secara default di .NET 10 | Tidak |
| Bahasa yang berlaku | C# dan Visual Basic |
Penyebab
Atur EnableHeaderChecking ke false.
Deskripsi aturan
Pemeriksaan header HTTP memungkinkan pengodean karakter pengembalian kursor dan baris baru, \r dan \n, yang ditemukan di header respons. Penyandian ini dapat membantu menghindari serangan injeksi yang mengeksploitasi aplikasi yang memuat ulang data yang tidak tepercaya dalam header.
Cara memperbaiki pelanggaran
Atur EnableHeaderChecking ke true. Atau, hapus penugasan ke false karena nilai defaultnya adalah true.
Kapan harus menekan peringatan
Kelanjutan header HTTP mengandalkan header yang mencakup beberapa baris dan memerlukan baris baru di dalamnya. Jika Anda perlu menggunakan kelanjutan header, Anda perlu menyetel properti EnableHeaderChecking ke false. Ada dampak performa dari memeriksa header. Jika Anda yakin sudah melakukan pemeriksaan yang tepat, menonaktifkan fitur ini dapat meningkatkan performa aplikasi Anda. Sebelum menonaktifkan fitur ini, pastikan Anda sudah melakukan tindakan pencegahan yang tepat di area ini.
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 CA5365
// The code that's violating the rule is on this line.
#pragma warning restore CA5365
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA5365.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
Contoh kode semu
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = false;
}
}
Solusi
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = true;
}
}