[HttpRequestValidationException (0x80004005): Od odjemalca... Potencialno nevarna vrednost Request.Form je zaznana v vrednosti Request.Form. ] System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)
1. Pravzaprav je napaka jasno pojasnjena in rešitev je predstavljena:
Odjemalec je zaznal potencialno nevarno vrednost Request.Form (txtUEditor="<p>a</p>").
Opis: Proces preverjanja zahtevkov je zaznal potencialno nevarne vhodne vrednosti odjemalca in obdelava zahteve je bila prekinjena. Ta vrednost lahko nakazuje, da gre za poskus ogroženja varnosti aplikacije, na primer s skriptnim napadom med različnimi lokacijami. Da bi strani omogočili preglasitev nastavitev validacije zahtev aplikacij, nastavite lastnost requestValidationMode v konfiguracijskem razdelku httpRuntime na requestValidationMode="2.0". Primer: <httpRuntime requestValidationMode="2.0" />. Ko je ta vrednost nastavljena, <pages> je mogoče validacijo zahtevkov onemogočiti z nastavitvijo validateRequest="false" v direktivi Page ali v konfiguracijskem razdelku. Vendar pa je v tem primeru zelo priporočljivo, da aplikacija eksplicitno preveri vse vhode. Za več informacij glejte http://Go.microsoft.com/fwlink/?LinkId=153133.
Podrobnosti izjeme: System.Web.HttpRequestValidationException: Odjemalec (txtUEditor="<p>a"a)</p> je zaznal potencialno nevarno vrednost Request.Form.
2. Drugi način je, da jo nastavite v razdelku Strani v web.config, na primer:
A ta metoda ni dobra, je preveč nasilna, saj bo povzročila, da vse strani celotnega projekta ne bodo več preverjale oddane vsebine, varnost pa je močno zmanjšana.
3. Priporočene prakse: Dodajte atribut:[ValidateInput(false)] k dejanju, ki bo le preprečil stran preverjanje oddaje in ne bo vplival na druge strani.
Opomba: Če je Request.Form["XXX"] pridobljen na ta način, bo potencialno nevarna anomalija še vedno zaznana, zato v parametre krmilnika vnesite podatke, ki jih želite pridobiti! !
|