Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 17891|Răspunde: 0

[ASP.NET] O soluție pentru ca MVC să detecteze o valoare Request.Form potențial periculoasă de la client

[Copiază linkul]
Postat pe 25.11.2016 16:33:35 | | | |


[HttpRequestValidationException (0x80004005): De la client... Valoarea potențial periculoasă a Request.Form este detectată în valoarea Request.Form. ]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)



1. De fapt, eroarea a fost explicată clar și soluția este spusă astfel:


O valoare potențial periculoasă a Request.Form a fost detectată de la client (txtUEditor="<p>a</p>").

Descriere: Procesul de validare a cererii a detectat valori potențial periculoase de intrare ale clientului, iar procesarea cererii a fost întreruptă. Această valoare poate indica o încercare de a compromite securitatea aplicației, cum ar fi un atac cross-site scripting. Pentru a permite paginii să suprascrie setările de validare a cererii aplicației, setați proprietatea requestValidationMode din secțiunea de configurare httpRuntime pe requestValidationMode="2.0". Exemplu: <httpRuntime requestValidationMode="2.0" />. Odată ce această valoare este setată, <pages> validarea cererii poate fi dezactivată prin setarea validateRequest="false" în directiva Page sau în secțiunea de configurare. Totuși, în acest caz, este foarte recomandat ca aplicația să verifice explicit toate intrările. Vezi http://Go.microsoft.com/fwlink/?LinkId=153133 pentru mai multe informații.

Detalii excepție: System.Web.HttpRequestValidationException: O valoare potențial periculoasă a Request.Form a fost detectată de la client (txtUEditor="<p>a"a</p>).

2. O altă metodă este să o setezi în secțiunea Pages din web.config, de exemplu:




Dar această metodă nu este bună, prea violentă, pentru că va face ca toate paginile întregului proiect să nu mai verifice conținutul trimis, iar securitatea este mult redusă.

3. Practici recomandate:
Adaugă un Atribut:[ValidateInput(false)] la Acțiune, care va împiedica doar pagina să valideze trimiterea și nu va afecta celelalte pagini.




Notă: Dacă Request.Form["XXX"] este obținută în acest mod, o anomalie potențial periculoasă va fi totuși detectată, așa că asigurați-vă că introduceți datele dorite în parametrii controlerului! !




Precedent:Verificarea EasyUI confirmă că parola și noua parolă sunt consecvente
Următor:Ueditor Multi-Image Upload elimină funcțiile de management online și fila de căutare a imaginilor
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com