[HttpRequestValidationException (0x80004005): Kliendilt... Potentsiaalselt ohtlik Request.Form väärtus tuvastatakse Request.Form väärtuses. ] System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)
1. Tegelikult on viga selgelt selgitatud ja lahendus on öeldud:
Kliendilt tuvastati potentsiaalselt ohtlik Request.Form väärtus (txtUEditor="<p>a</p>").
Kirjeldus: Päringu valideerimisprotsess tuvastas potentsiaalselt ohtlikud kliendi sisendi väärtused ja päringu töötlemine katkestati. See väärtus võib viidata rakenduse turvalisuse kompromiteerimisele, näiteks rist-saidi skriptimise rünnakule. Selleks, et leht saaks rakenduse päringute valideerimise seadeid üle kirjutada, määrake httpRuntime konfiguratsiooni sektsioonis requestValidationMode omadus requestValidationMode="2.0". Näide: <httpRuntime requestValidationMode="2.0" />. Kui see väärtus on seatud, <pages> saab päringu valideerimise keelata, seades validateRequest="false" lehe direktiivis või konfiguratsioonisektsioonis. Kuid antud juhul soovitatakse tungivalt, et rakendus kontrolliks kõiki sisendeid selgesõnaliselt. Lisateabe saamiseks vaata http://Go.microsoft.com/fwlink/?LinkId=153133.
Erandi andmed: System.Web.HttpRequestValidationException: Kliendilt tuvastati potentsiaalselt ohtlik Request.Form väärtus (txtUEditor="<p>a"a</p>).
2. Teine viis on määrata see web.config lehekülgede sektsioonis, näiteks:
Kuid see meetod pole hea, liiga vägivaldne, sest see paneb kogu projekti kõik leheküljed enam esitatud sisu kontrollima ja turvalisus väheneb oluliselt.
3. Soovitatavad praktikad: Lisa tegevusele atribuut:[ValidateInput(false)], mis takistab lehel ainult esituse valideerimist ega mõjuta teisi lehti.
Märkus: Kui sellisel viisil saadakse Request.Form["XXX"], tuvastatakse endiselt potentsiaalselt ohtlik anomaalia, seega pane kindlasti soovitud andmed kontrolleri parameetritesse! !
|