J’ai ce problème. J’ai tout essayé. ValidateRequest = “false” .. et décodage et codage html .. etc etc ..
Ce dont j’ai besoin est une boîte de dialog (si je m’utilise avec ModalPopupExtender) pour indiquer à un utilisateur où les utilisateurs peuvent saisir les parameters XML et cliquer sur le bouton ok / cancel pour fermer la fenêtre et enregistrer.
Cependant, je continue à avoir cette erreur “Une valeur Request.Form potentiellement dangereuse a été détectée par le client” …
Voici mon code de test ci-dessous (exemple rapide de mon scénario et de mon erreur).
Code Derrière:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ModalPopupExtender.Show(); ssortingng str = " "; txtAreaValue.InnerText = str; } protected void Display_Click(object sender, EventArgs e) { //Shows the Item detail Edit box ModalPopupExtender.Show(); } protected void BtnCancel_Click(object sender, EventArgs e) { ModalPopupExtender.Hide(); } } }
Pour exécuter le code .. Ajoutez une référence à AjaxControltoolkit.dll, puis exécutez-le et vous verrez que la zone de texte est remplie avec xml. Cliquez sur le bouton d’annulation et cela provoque l’erreur. S’il vous plaît quelqu’un peut-il m’aider?
Utilisation
dans votre web.config (en conservant tous les atsortingbuts que vous avez déjà sur cet élément, s’il est déjà là). ASP.NET4.0 ignore ValidateRequest
sinon.
Et, bien sûr, assurez-vous de prendre les mesures nécessaires pour vous protéger contre les demandes réellement dangereuses, maintenant que ce n’est pas fait pour vous.
Edit: Un bon moyen de procéder consiste à créer votre propre classe dérivée de RequestValidator
, en utilisant le comportement 4.0, mais avec cette classe comme classe RequestValidator
la vérification.
Voici une solution possible qui peut vous aider. Définissez les parameters de configuration côté serveur pour cela. Si vous souhaitez autoriser l’élément HTML en tant qu’entrée de pages sélectionnées dans votre projet, définissez cet atsortingbut de page.
<%@ Page ValidateRequest="false" %>
Cette ValidateRequest = “false” sur chaque page. Si vous souhaitez que toutes les pages de votre projet apportent des modifications au fichier Web.Config. Ajouter cette balise dans la section.
Si vous utilisez .Net 4.0, vous devez effectuer une nouvelle modification dans le fichier Web.Config. Ajouter cette balise dans la section.
Voici la configuration pour ne pas valider la demande pour toutes les pages en .Net 4.0
Voici un exemple complet à ce sujet. Cliquez ici…
Eh bien, les gens ne parlent que d’Asp.net 4.0 … Je suppose que nous devons également nous pencher sur d’autres versions. Aujourd’hui, j’ai eu le même problème lorsque j’ai remplacé mon éditeur AjaxToolkit par TinyMCE et avec le postback, j’ai trouvé le même problème.
“Une valeur Request.Form potentiellement dangereuse a été détectée par le client” ..
J’ai donc utilisé cette ligne dans ma configuration Web et cela a fonctionné pour moi.
Cela devrait fonctionner sur Asp.net 2.0 à 3.5.
UPDATE: Même fonctionne jusqu’à .net 4.5
UPDATE: Vous pouvez également essayer de valider la demande au niveau de la page plutôt que du site Web entier. Je voulais juste laisser les lecteurs choisir le meilleur moyen. Merci DVD pour l’avoir signalé.
J’ai créé un article de table avec les colonnes articleId et article_content. J’ai également utilisé l’éditeur HTML pour la colonne article_content. Quand j’ai essayé de sauvegarder, j’ai eu la même erreur. Le problème a été résolu en ajoutant [AllowHtml] à la propriété article_content de la classe.
[AllowHtml] [Required] public ssortingng article_content { get; set; }
N’oubliez pas d’inclure l’espace de noms à l’aide de System.Web.Mvc. Pour plus de détails: http://www.infinetsoft.com/Post/A-potentially-dangerous-Request-Form-value-was-detected-from-the-client/1246
“Une valeur Request.Form potentiellement dangereuse a été détectée par le client” ..
1) définir httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="<,>,\"
dans le fichier web.config
2) définir validateRequest="false"
dans la balise des pages latérales du fichier web.config
J’ai rencontré ce même problème lors de l’envoi de modèles de courrier électronique de la page aspx au code derrière ….
J’ai donc essayé de résoudre ce problème en ajoutant
dans ma configuration Web sous enter code here
`mais cela ne m’a pas aidé à moins que je mette
ValidateRequest="false"
attrribute dans la directive page de la page aspx.
Il existe 3 options pour supprimer cette erreur.
validateRequest="false"
dans les directives de page. validateRequest="false"
dans le fichier web.config. requestValidationMode="2.0"
dans web.config si vous utilisez DotNet 4.0 Cliquez sur ce lien pour plus d’informations.
Vous pouvez utiliser JavaScript pour encoder les valeurs avant de les envoyer au serveur, si cela convient à vos besoins.
voir cette réponse