Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
| Propiedad | Valor |
|---|---|
| Identificador de la regla | CA5365 |
| Título | No se debe deshabilitar la comprobación de encabezados HTTP |
| Categoría | Seguridad |
| El arreglo es problemático o no problemático | Sin interrupción |
| Habilitado de forma predeterminada en .NET 10 | No |
| Idiomas aplicables | C# y Visual Basic |
Causa
Establezca EnableHeaderChecking en false.
Descripción de la regla
La comprobación de encabezados HTTP permite la codificación de los caracteres de retorno de carro y nueva línea, \r y \n, que se encuentran en los encabezados de respuesta. Esta codificación puede ayudar a evitar ataques de inyección que aprovechan una aplicación que repite datos que no son de confianza contenidos en el encabezado.
Cómo corregir infracciones
Establezca EnableHeaderChecking en true. O bien, quite la asignación a false porque el valor predeterminado es true.
Cuándo suprimir las advertencias
Las continuaciones de encabezado HTTP se basan en encabezados que abarcan varias líneas y requieren nuevas líneas. Si necesita usar continuaciones de encabezado, debe establecer la propiedad EnableHeaderChecking en false. La comprobación de los encabezados tiene un impacto en el rendimiento. Está seguro de que ya realiza las comprobaciones correctas, la desactivación de esta característica puede mejorar el rendimiento de la aplicación. Antes de deshabilitar esta característica, asegúrese de que ya está tomando las precauciones adecuadas respecto a este tema.
Supresión de una advertencia
Si solo quiere suprimir una única infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.
#pragma warning disable CA5365
// The code that's violating the rule is on this line.
#pragma warning restore CA5365
Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none del archivo de configuración.
[*.{cs,vb}]
dotnet_diagnostic.CA5365.severity = none
Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.
Ejemplos de pseudocódigo
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = false;
}
}
Solución
using System;
using System.Web.Configuration;
class TestClass
{
public void TestMethod()
{
HttpRuntimeSection httpRuntimeSection = new HttpRuntimeSection();
httpRuntimeSection.EnableHeaderChecking = true;
}
}