Heim  >  Artikel  >  Backend-Entwicklung  >  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

伊谢尔伦
伊谢尔伦Original
2016-11-24 16:15:111125Durchsuche

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:

44c88267b88f0d6e29d47868efebe63c

Option 2:

Ändern Sie die Konfigurationsdatei web.config

 <system.web> 
      <pages validateRequest="false" >   
      </pages>   
  </system.web>

Zusammenfassung: Wir wissen, dass „validateRequest“ die Validierung ausschaltet, was bedeutet, dass mit Tags wie dem Wert 8e99a69fbe029cd4e2b854e244eab143bold128dba7a3a77be0113eb0bea6ea0a5d0 ü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>

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.


Stellungnahme:
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