Heim > Backend-Entwicklung > C#.Net-Tutorial > Beheben Sie den Fehler „potenziell gefährlicher Request.Form-Wert vom Client erkannt' in asp.net

Beheben Sie den Fehler „potenziell gefährlicher Request.Form-Wert vom Client erkannt' in asp.net

伊谢尔伦
Freigeben: 2016-11-24 16:15:11
Original
1171 Leute haben es durchsucht

Beim Absenden des Formulars meldet asp.net: „Ein potenziell gefährlicher Request.Form-Wert wurde vom Client erkannt (...)“. Die Anforderungsüberprüfungsfunktion in asp.net bietet einen gewissen Schutz vor XSS-Angriffen. Die Anforderungsüberprüfung in asp.net ist standardmäßig aktiviert. Dies bietet Lösungen für verschiedene Versionen von .net.

ASP.NET 2.0 übliche Lösung

Option 1:

Fügen Sie ValidateRequest="false" wie folgt zum Seitenelement in der .aspx-Datei hinzu:

<%@ Page ValidateRequest="false" Language="C#" AutoEventWireup="true" CodeFile="test2.aspx.cs" Inherits="test2" %>

Option 2:

Ändern Sie die Konfigurationsdatei web.config

 <system.web> 
      <pages validateRequest="false" >   
      </pages>   
  </system.web>
Nach dem Login kopieren

Zusammenfassung: Wir wissen, dass „validateRequest“ die Validierung ausschaltet, was bedeutet, dass mit Tags wie dem Wert bold übermittelt wird , ASP.NET meldet keinen Fehler. Es wird empfohlen, hier Option eins zu verwenden, da die Option nur die Seite test.aspx ändert. Wenn Sie Option zwei verwenden, wird die gesamte Lösung zu ValidateRequest="false".

Lösungen für asp.net 4.0

Die Methoden für 4.0 und 2.0 sind die gleichen, es sollte jedoch beachtet werden, dass asp.net ab .Net Framework 4.0 beginnt, Anforderungsparameter zwangsweise zu erkennen Sicherheit, und wir können den Version 2.0-Modus wiederherstellen, indem wir Web.config ändern.

Die Methode lautet wie folgt:

Ändern Sie Web.config und fügen Sie den Attributwert requestValidationMode="2.0" hinzu.

 <system.web>
      <httpRuntime requestValidationMode="2.0" />
      <pages validateRequest="false"></pages>
  </system.web>
Nach dem Login kopieren

In 4.0 gibt es einen zusätzlichen requestValidationMode Bedeutet das?

requestValidationMode hat zwei Werte:

2.0 aktiviert nur die Anforderungsvalidierung für Webseiten. Ob aktiviert oder deaktiviert, hängt von „validateRequest“ ab.

4.0 Standardwert. Jede HTTP-Anfrage ermöglicht die Überprüfung der Anfrage, d. h. nicht nur Webseiten, sondern auch Cookies usw. Jetzt aktiviert, unabhängig vom ValidateRequest-Wert.

Da requestValidationMode="4.0" zwangsweise aktiviert ist, werden wir feststellen, dass die Anforderungsvalidierung in .NET Framework 4.0 nicht einfach durch Festlegen von „validateRequest“ deaktiviert werden kann. Wir müssen requestValidationMode auch auf 2.0 setzen.


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage