[HttpRequestValidationException (0x80004005): no klienta... Potenciāli bīstama vērtība Request.Form ir noteikta vērtībā Request.Form. ] System.Web.HttpRequest.ValidateString(Virkne s, String valueName, String collectionName)
1. Faktiski kļūda ir skaidri izskaidrota un risinājums ir pateikts:
Klients atklāja potenciāli bīstamu Request.Form vērtību (txtUEditor="<p>a</p>").
Apraksts: pieprasījuma validācijas procesā tika konstatētas potenciāli bīstamas klienta ievades vērtības, un pieprasījuma apstrāde ir pārtraukta. Šī vērtība var norādīt, ka ir mēģinājums apdraudēt lietojumprogrammas drošību, piemēram, starpvietņu skriptēšanas uzbrukums. Lai ļautu lapai ignorēt lietojumprogrammas pieprasījuma validācijas iestatījumus, konfigurācijas sadaļā httpRuntime iestatiet rekvizītu requestValidationMode uz requestValidationMode="2.0". Piemērs: <httpRuntime requestValidationMode="2.0" />. Kad šī vērtība ir iestatīta, <pages> pieprasījuma validāciju var atspējot, lapas direktīvā vai konfigurācijas sadaļā iestatot validateRequest="false". Tomēr šajā gadījumā ir ļoti ieteicams, lai lietojumprogramma skaidri pārbaudītu visas ievades. Plašāku informāciju skatiet http://Go.microsoft.com/fwlink/?LinkId=153133.
Detalizēta informācija par izņēmumu: System.Web.HttpRequestValidationException: klientam tika noteikta potenciāli bīstama Request.Form vērtība (txtUEditor="<p>a"a</p>).
2. Vēl viens veids ir iestatīt to web.config sadaļā Lapas, piemēram:
Bet šī metode nav laba, pārāk vardarbīga, jo tā padarīs visas visa projekta lapas vairs nepārbaudīs iesniegto saturu, un drošība ir ievērojami samazināta.
3. Ieteicamā prakse Pievienojiet darbībai atribūtu:[ValidateInput(false)], kas tikai neļaus lapai validēt iesniegumu un neietekmēs citas lapas.
Piezīme: Ja šādā veidā tiek iegūts Request.Form["XXX"], joprojām tiks atklāta potenciāli bīstama anomālija, tāpēc noteikti ievietojiet datus, kurus vēlaties iegūt kontroliera parametros! !
|