Ein möglicherweise gefährlicher Request.Form
Jemand wissen, warum ich erhalte die folgende Fehlermeldung? Ich habe das debugging aktiviert.
Server Error in '/' Application.
--------------------------------------------------------------------------------
A potentially dangerous Request.Form value was detected from the client (strContent="<p>
test</p>
").
Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.
Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (strContent="<p>
test</p>
").
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
Stack Trace:
[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (strContent="<p>
test</p>
").]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +8725306
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +111
System.Web.HttpRequest.get_Form() +129
System.Web.HttpRequest.get_HasForm() +8725415
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +63
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.ajax_create_new_page_aspx.ProcessRequest(HttpContext context) +37
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618
möglich, Duplikat der Validierung erkannter gefährlicher client-Eingang - post von TinyMCE in ASP.NET
Mögliche Duplikate von : stackoverflow.com/questions/81991/...
Mögliche Duplikate von : stackoverflow.com/questions/81991/...
InformationsquelleAutor oshirowanen | 2011-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Post enthält HTML-Elemente (die
<p>
tag, in Ihrem Fall ist) - dies können Anzeichen für eine cross-site-scripting-Angriff, das ist der Grund, warum asp.net nicht erlauben, es standardmäßig.Sollten Sie entweder HTML-Kodieren, bevor Sie Sie Einreichen (best practice), oder die Warnung deaktiviert und potenziell setzen Sie sich für XSS.
sehen dies SO Frage und Antworten: stackoverflow.com/questions/1219860/...
Hi. Ich wollte Sie bitten, über Ihre Antwort. es ist eine schlechte Praxis zu deaktivieren asp.net -überprüfung.( möglicherweise gefährlicher request...."). Aber hier zum Beispiel ( im SO) ich möchte die Benutzer in der Lage sein zu senden<p> - es muss also ajs Mechanismus, der die html-Codierung.....haben Sie eine gute library dafür ?
Jetzt nicht, eine gute Bibliothek, aber die Allgemeine Art und Weise, dies zu tun ist, um zu ermöglichen, HTML-Inhalt, der für diesen bestimmten Bereich (ich glaube .NET 4.0 oder möglicherweise 4.5 hat ein Attribut, mit dem Sie dies tun, auf einem bestimmten Feld) und die whitelist nur die tags, die Sie möchten (so dass die Validierung würde alles ablehnen, was ist HTML und nicht
<p>
.Hi. Ich hatte eine Diskussion mit einigen Leuten hier und wollte zu teilen Ihre Gedanken.... chat.stackoverflow.com/rooms/17056/... bitte sagen Sie mir, was Sie denken - Ihre Meinung ist mir wichtig.
InformationsquelleAutor Oded
Im web.config-Datei, in die tags, legen Sie die httpRuntime-element mit dem Attribut requestValidationMode="2.0". Fügen Sie auch die validateRequest="false" - Attribut im pages-element.
InformationsquelleAutor parisa
Es ist, weil Sie haben HTML-tags in Ihrem
POST
Anfrage. Um es zu ermöglichen, die Sie benötigen, umValidateRequest= false
in Ihrem@Page
Richtlinien. Aber an dieses sich erinnern können, setzen Sie Ihre Website für Cross-Site-Scripting-Angriffe.InformationsquelleAutor Shekhar_Pro
Ort
[AllowHtml]
Attribut im Modell.InformationsquelleAutor ecasper
Stellen Sie sicher, dass Sie das ändern
in der tatsächlichen Web.config. Ich war eine änderung im Web.debug.config und Web.release.config-Dateien, und es würde nicht funktionieren.
InformationsquelleAutor codenesium
Hatte ich auf die Jagd gehen ein wenig in meinem
web.config
- Datei, die speziell innerhalb dersystem.web
xml-Abschnitt zu finden, wo ich konnte, aktualisieren Sie den<pages>
Richtlinien... wie Sie bemerkt. Sobald ich fügte hinzu, dievalidateReqest = "false"
Attribut die Seiten, auf die die Richtlinie innerhalbweb.config
Datei, es hat alles wieder ganz.In meinem speziellen Fall ist es NICHT auf einem Produktionsserver allerdings, und das ist nicht 'Produktion' - level-code. Es ist in einem privaten lokalen server, nur mit mir als der einzige Benutzer in der Umgebung, so dass macht mich fühlen sich besser über die Aktualisierung, die Einstellung. Wie unten:
InformationsquelleAutor bro mak
Ist dies eine MVC-Anwendung, die Sie anwenden können dieses Attribut auf
Controller Action
Ebene zu ignorieren-input-Validierung:InformationsquelleAutor Willy David Jr