[HttpRequestValidationException (0x80004005): Az ügyféltől... Potenciálisan veszélyes Request.Form érték észlelhető az Request.Form értékben. ] System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)
1. Valójában a hibát világosan elmagyarázták, és a megoldást elmondták:
Egy potenciálisan veszélyes Request.Form értéket észleltek a kliens (txtUEditor="<p>a</p>").
Leírás: A kérés validációs folyamata potenciálisan veszélyes ügyfélbemeneti értékeket észlelt, és a kérés feldolgozása megszakadt. Ez az érték arra utalhat, hogy megpróbálják megtörni az alkalmazás biztonságát, például egy weboldalon átterjedő szkripttámadást. Ahhoz, hogy az oldal felülírja az alkalmazáskérés validációs beállításait, állítsuk be a httpRuntime konfigurációs szekcióban az requestValidationMode tulajdonságot requestValidationMode="2.0"-ra. Példa: <httpRuntime requestValidationMode="2.0" />. Miután ez az érték beállított, a <pages> kérések validálása letiltható a validateRequest="false" beállítással az Oldal direktívában vagy a konfigurációs szakaszban. Ebben az esetben azonban erősen ajánlott, hogy az alkalmazás minden bemenetet kifejezetten ellenőrizze. További információért lásd http://Go.microsoft.com/fwlink/?LinkId=153133.
Kivétel részletei: System.Web.HttpRequestValidationException: Egy potenciálisan veszélyes Request.Form értéket észleltek az ügyféltől (txtUEditor="<p>a"a</p>).
2. Egy másik mód, ha beállítod a web.config Oldalak szekciójában, például:
De ez a módszer nem jó, túl erőszakos, mert így a teljes projekt összes oldala már nem ellenőrzi a beküldött tartalmat, és a biztonság jelentősen csökken.
3. Ajánlott gyakorlatok: Hozzáadj egy attribútumot:[ValidateInput(false)] az akcióhoz, amely csak megakadályozza az oldalt a beküldés validálásában, és nem érinti a többi oldalt.
Megjegyzés: Ha így megkapják a Request.Form["XXX"] űrlapot, akkor is potenciálisan veszélyes anomáliát észlelnek, ezért mindenképp tegyék be a kívánt adatokat a vezérlő paramétereibe! !
|