Megosztás a következőn keresztül:


CA5365: Ne tiltsa le a HTTP-fejlécek ellenőrzését

Tulajdonság Érték
Szabályazonosító CA5365
Cím NE tiltsa le a HTTP-fejlécek ellenőrzését
Kategória Biztonság
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Nem

Ok

Set EnableHeaderChecking to false.

Szabály leírása

A HTTP-fejléc ellenőrzése lehetővé teszi a kocsivissza és az új vonal karaktereinek kódolását, \r valamint \na válaszfejlécekben találhatóakat. Ez a kódolás segíthet elkerülni az olyan injektálási támadásokat, amelyek egy olyan alkalmazást használnak ki, amely a fejlécben található nem megbízható adatokat visszhangozza.

Szabálysértések kijavítása

Set EnableHeaderChecking to true. Vagy távolítsa el a hozzárendeléstfalse, mert az alapértelmezett érték.true

Mikor kell letiltani a figyelmeztetéseket?

A HTTP-fejlécfolytatások több sorra kiterjedő fejlécekre támaszkodnak, és új sorokat igényelnek bennük. Ha fejlécfolytatásokat kell használnia, a tulajdonságot be kell állítania a EnableHeaderChecking következőre false: . A fejlécek ellenőrzése teljesítménybeli hatással van. Ha biztos benne, hogy már elvégzi a megfelelő ellenőrzéseket, a funkció kikapcsolása javíthatja az alkalmazás teljesítményét. Mielőtt letiltja ezt a funkciót, győződjön meg arról, hogy már megtette a megfelelő óvintézkedéseket ezen a területen.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA5365
// The code that's violating the rule is on this line.
#pragma warning restore CA5365

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések letiltása.

Példák pszeudokódokra

using System;
using System.Web.Configuration;

class TestClass
{
    public void TestMethod()
    {
        HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
        httpRuntimeSection.EnableHeaderChecking = false;
    }
}

Megoldás

using System;
using System.Web.Configuration;

class TestClass
{
    public void TestMethod()
    {
        HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
        httpRuntimeSection.EnableHeaderChecking = true;
    }
}