tutorial por example ejemplo autenticacion json asp.net-mvc iis payload

json - por - web api ejemplo



Solicitud de bloque IIS 8 por campos de carga JSON (2)

Como dijiste:

Quiero que esté en el nivel de IIS para anular más carga del nivel del servidor web que necesita crear otro hilo para cada solicitud. El motivo por el que quiero bloquear alguna solicitud es porque ya no son relevantes para mi aplicación, vienen con mucha carga y no puedo detenerlos desde el lado de los clientes.

Tienes 2 opciones:

  1. Filtrado de solicitudes
  2. Reescritura de URL

Estudie detenidamente el artículo Filtrado de solicitud de IIS 7.0 y Reescritura de URL para conocer las cosas más importantes sobre ellos. Si su selección sería la primera con la prioridad más alta, The <denyQueryStringSequences> sería útil cuando cubra algunos requisitos de filtrado. Y para trabajar con expresiones regulares , necesita usar el segundo. la siguiente regla de ejemplo puede detener el procesamiento de la solicitud bajo <rewrite> :

<rule name="Block Bad Request Strings" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAny" trackAllCaptures="false"> <add input="{QUERY_STRING}" pattern="id=([^/"]*[^-]?>)|(?:[^//w//s]//s*////>)|(?:>/") /> </conditions> <action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="You do not have permission" /> </rule>

Para obtener más información, consulte Referencia de configuración del módulo de reescritura de URL

Tengo un servidor web MVC.NET 4 que acepta la solicitud HTTP POST con una cadena con formato JSON como datos de solicitud. Me gustaría agregar una regla en el nivel de IIS antes de que la solicitud llegue al servidor, para bloquear la solicitud de algunas expresiones regulares en esa cadena JSON. ¿Es eso posible?


Creo que crear y agregar un módulo Http personalizado puede resolver su problema. Se llama a un módulo HTTP en cada solicitud en respuesta a los eventos BeginRequest y EndRequest .