HttpRuntimeSection.EnableHeaderChecking Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menunjukkan apakah pemeriksaan header diaktifkan.
public:
property bool EnableHeaderChecking { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)]
public bool EnableHeaderChecking { get; set; }
[<System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)>]
member this.EnableHeaderChecking : bool with get, set
Public Property EnableHeaderChecking As Boolean
Nilai Properti
true
jika pemeriksaan header diaktifkan; jika tidak, false
. Nilai defaultnya adalah true
.
- Atribut
Contoh
Contoh berikut menunjukkan cara menggunakan EnableHeaderChecking properti .
// Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " +
configSection.EnableHeaderChecking + "<br>");
// Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = true;
' Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " & _
configSection.EnableHeaderChecking & "<br>")
' Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = True
Keterangan
Tujuan dari properti ini adalah untuk mengaktifkan pengodean pengembalian pengodean dan karakter baris baru, \r
dan \n
, yang ditemukan di header respons.
Di header respons keluar, karakter yang diwakili oleh kode 0x1F dan di bawah ini dikodekan dan juga karakter 0x7F (hapus karakter). Satu-satunya pengecualian adalah bahwa karakter 0x09 (karakter tab) tidak dimodifikasi.
Pengodean ini dapat membantu menghindari serangan injeksi yang mengeksploitasi aplikasi yang menggemakan data tidak tepercaya yang disimpan oleh header.
Catatan
Properti ini tidak berlaku untuk baris status itu sendiri (kode status dan deskripsi status), tetapi harus berlaku untuk header lain. Meskipun <httpRuntime> dapat diatur pada tingkat apa pun, properti ini hanya berlaku di tingkat komputer dan aplikasi.
Ketika properti ini adalah true
, yang merupakan default, \r
karakter atau \n
yang ditemukan di header respons dikodekan ke %0d
dan %0a
. Ini mengalahkan serangan injeksi header dengan membuat bagian material yang disuntikkan dari baris header yang sama. Ini mungkin merusak respons tetapi tidak boleh membuka vektor serangan terhadap klien. Menggemakan kembali data yang tidak tepercaya bukanlah ide yang baik dalam situasi apa pun.
Penting
Kelanjutan header HTTP mengandalkan header yang mencakup beberapa baris dan memerlukan baris baru di dalamnya. Jika Anda perlu menggunakan kelanjutan header, Anda perlu mengatur properti ke EnableHeaderCheckingfalse
. Karena ada dampak performa dari melihat 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.