Se detectó un error en la redirección del valor Request.Form potencialmente peligroso del cliente
Frecuentes
Visto 738 equipos
0
Cuando busqué este error, obtuve muchas soluciones y en todas partes obtuve la misma respuesta. Pero no pude resolver en mi caso.
Error
A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$tbEditor="<span>
<span><sp...").
Explicación
Como pude saber por otras respuestas, si quiero resolver este error, tendré que configurar <httpRuntime requestValidationMode="2.0" />
en mi web.config en <system.web>
etiquetar como lo he hecho. Y otra configuración en la directiva de página. ValidateRequest="false"
que he hecho y funciona bien también para esta página.
Problema
But after that when i want to move from this page to any other .aspx page then i am getting as above error.
Aqui mi web.config
<system.web>
<authentication mode="Forms" />
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<httpRuntime requestValidationMode="2.0" />
</system.web>
La directiva de mi página donde quiero solucionar este problema.
<%@ Page Title="" Language="C#" MasterPageFile="~/AdminMaster.master" AutoEventWireup="true" CodeFile="EmailSetting.aspx.cs" Inherits="EmailSetting" ValidateRequest="false" %>
1 Respuestas
0
Causar
ASP.Net por defecto valida todos los controles de entrada para contenido potencialmente inseguro que puede conducir a Cross Site Scripting e inyecciones de SQL. Por lo tanto, no permite dicho contenido al lanzar la excepción anterior. De forma predeterminada, se recomienda permitir que esta verificación se realice en cada devolución de datos.
Opción 1
En ese caso, puede evitar esta excepción configurando la etiqueta ValidateRequest en la Directiva @Page en falso.
<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest = "false" ..>
Esto deshabilitará la validación de solicitudes para la página en la que ha establecido el indicador ValidateRequest en falso. Si desea deshabilitar esta verificación en toda su aplicación web, deberá configurarla como falsa en su sección web.config
Opción 2
<pages validateRequest ="false" />
Opción 3
Para .Net 4.0 o marcos superiores, también deberá agregar la siguiente línea en la sección para que lo anterior funcione.
<httpRuntime requestValidationMode = "2.0" />
Pruebe esta solución:
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
Respondido el 12 de junio de 14 a las 11:06
No puedo eliminar los ensamblajes que se están utilizando. Cuando los estoy eliminando, recibo un error. - govinda rajbhar
todas sus opciones de respuesta son verdaderas, pero en mi caso quiero deshabilitar la validación de solicitudes para una sola página y, como usted sugirió, lo intenté. Pero en mi caso, no recibo un error en esta página. Recibo un error cuando estoy redirigiendo desde esta página a cualquier otra. .aspx page
como he mencionado anteriormente. - govinda rajbhar
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# asp.net c#-4.0 or haz tu propia pregunta.
¿Cómo te mueves de una página a otra? Desactivar ciegamente la validación en todo el sitio probablemente no sea una buena idea, está ahí por una razón. El error indica que está publicando código HTML en un control llamado
tbEditor
. ¿Estás haciendo eso? ¿Necesitas hacerlo? - DavidSí
tbEditor
está pasando un valor de una página a otra página, no sé cómo está pasando. Y estoy usando un enlace de página maestra simple para pasar de una página a otra. - Govinda RajbharEl punto es que el valor que se envía en el formulario es una cadena HTML. Por lo general, no es una buena idea por varias razones. ¿Por qué el valor es una cadena HTML en este caso? Lo más probable es que pueda solucionar esto pasando alguna otra forma de datos en lugar de código HTML. - David
aquí estoy usando el editor de arranque en el que permito que el usuario formatee su documento para el correo electrónico. Y el texto de este editor lo envío como un correo electrónico usando el código: Govinda Rajbhar