Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 17891|Antwoord: 0

[ASP.NET] Een workaround voor MVC om een potentieel gevaarlijke Request.Form-waarde van de client te detecteren

[Link kopiëren]
Geplaatst op 25-11-2016 16:33:35 | | | |


[HttpRequestValidationException (0x80004005): Van de client... De potentieel gevaarlijke Request.Form-waarde wordt gedetecteerd in de Request.Form-waarde. ]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)



1. In feite is de fout duidelijk uitgelegd en wordt de oplossing verteld:


Een potentieel gevaarlijke Request.Form-waarde werd gedetecteerd door de client (txtUEditor="<p>a</p>").

Beschrijving: Het verzoekvalidatieproces detecteerde potentieel gevaarlijke clientinvoerwaarden en de verwerking van het verzoek is afgebroken. Deze waarde kan erop wijzen dat er een poging is om de beveiliging van de applicatie in gevaar te brengen, zoals een cross-site scripting-aanval. Om de pagina toe te staan de validatie-instellingen van applicatieverzoeken te overschrijven, stel je de requestValidationMode-eigenschap in de httpRuntime-configuratiesectie in op requestValidationMode="2.0". Voorbeeld: <httpRuntime requestValidationMode="2.0" />. Zodra deze waarde is ingesteld, <pages> kan verzoekvalidatie worden uitgeschakeld door validateRequest="false" in de Pagina-richtlijn of in de configuratiesectie te zetten. In dit geval wordt echter sterk aanbevolen dat de applicatie alle invoer expliciet controleert. Zie http://Go.microsoft.com/fwlink/?LinkId=153133 voor meer informatie.

Uitzonderingsdetails: System.Web.HttpRequestValidationException: Een potentieel gevaarlijke Request.Form-waarde werd gedetecteerd door de client (txtUEditor="<p>a"a</p>).

2. Een andere manier is om het in te stellen in het Pages-gedeelte van web.config, zoals:




Maar deze methode is niet goed, te gewelddadig, omdat het ervoor zorgt dat alle pagina's van het hele project de ingediende inhoud niet langer verifiëren, en de beveiliging sterk vermindert.

3. Aanbevolen praktijken:
Voeg een attribuut:[ValidateInput(false)] toe aan de Actie, wat alleen voorkomt dat de pagina de inzending valideert en geen invloed heeft op andere pagina's.




Opmerking: Als Request.Form["XXX"] op deze manier wordt verkregen, wordt er nog steeds een potentieel gevaarlijke anomalie gedetecteerd, dus zorg ervoor dat je de data die je wilt verkrijgen in de controllerparameters invoert! !




Vorig:EasyUI-verificatie bevestigt dat het wachtwoord en het nieuwe wachtwoord consistent zijn
Volgend:Ueditor Multi-Image Upload verwijdert de functies voor online beheer en het zoeken op afbeeldingen.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com