[HttpRequestValidationException (0x80004005): Fra klienten... Potensielt farlig Request.Form-verdi oppdages i Request.Form-verdien. ] System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)
1. Faktisk er feilen tydelig forklart og løsningen forteller:
En potensielt farlig Request.Form-verdi ble oppdaget fra klienten (txtUEditor="<p>a</p>").
Beskrivelse: Forespørselsvalideringsprosessen oppdaget potensielt farlige klientinndataverdier, og behandlingen av forespørselen er avbrutt. Denne verdien kan indikere at det er et forsøk på å kompromittere applikasjonens sikkerhet, for eksempel et cross-site scripting-angrep. For å la siden overstyre innstillingene for validering av applikasjonsforespørsler, sett requestValidationMode-egenskapen i httpRuntime-konfigurasjonsseksjonen til requestValidationMode="2.0". Eksempel: <httpRuntime requestValidationMode="2.0" />. Når denne verdien er satt, <pages> kan forespørselsvalidering deaktiveres ved å sette validateRequest="false" i sidedirektivet eller i konfigurasjonsseksjonen. I dette tilfellet anbefales det imidlertid sterkt at applikasjonen eksplisitt sjekker alle input. Se http://Go.microsoft.com/fwlink/?LinkId=153133 for mer informasjon.
Unntaksdetaljer: System.Web.HttpRequestValidationException: En potensielt farlig Request.Form-verdi ble oppdaget fra klienten (txtUEditor="<p>a"a</p>).
2. En annen måte er å sette det i Pages-seksjonen i web.config, for eksempel:
Men denne metoden er ikke god, for voldsom, fordi den gjør at alle sider i hele prosjektet ikke lenger verifiserer det innsendte innholdet, og sikkerheten reduseres betydelig.
3. Anbefalte praksiser: Legg til en attributt:[ValidateInput(false)] til handlingen, som kun vil hindre siden i å validere innlegget, og ikke påvirke andre sider.
Merk: Hvis Request.Form["XXX"] skaffes på denne måten, vil en potensielt farlig anomali fortsatt bli oppdaget, så sørg for å legge inn dataene du ønsker å hente inn i kontrollerparametrene! !
|