Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 17891|Отговор: 0

[ASP.NET] Заобиколно решение за MVC да открие потенциално опасна стойност на Request.Form от клиента

[Копирай линк]
Публикувано в 25.11.2016 г. 16:33:35 ч. | | | |


[HttpRequestValidationException (0x80004005): От клиента... Потенциално опасна стойност Request.Form се открива в стойността Request.Form. ]
System.Web.HttpRequest.ValidateString(Низ s, String valueName, String collectionName)



1. Всъщност грешката е ясно обяснена и решението е разказано:


Потенциално опасна стойност Request.Form беше открита от клиента (txtUEditor="<p>a</p>").

Описание: Процесът на валидиране на заявката откри потенциално опасни входни стойности на клиента и обработката на заявката беше прекратена. Тази стойност може да показва, че има опит за компрометиране на сигурността на приложението, като например крос-сайт скриптова атака. За да позволите на страницата да презаписва настройките за валидиране на заявката на приложението, задайте свойството requestValidationMode в секцията за конфигурация httpRuntime на requestValidationMode="2.0". Пример: <httpRuntime requestValidationMode="2.0" />. След като тази стойност бъде зададена, <pages> валидирането на заявката може да бъде деактивирано чрез задаване на validateRequest="false" в директивата Page или в секцията за конфигурация. Въпреки това, в този случай силно се препоръчва приложението изрично да проверява всички входни данни. Вижте http://Go.microsoft.com/fwlink/?LinkId=153133 за повече информация.

Детайли за изключения: System.Web.HttpRequestValidationException: Потенциално опасна стойност на Request.Form беше открита от клиента (txtUEditor="<p>a"a</p>).

2. Друг начин е да го зададете в секцията Pages в web.config, като например:




Но този метод не е добър, твърде насилствен, защото ще накара всички страници от целия проект да не проверяват подаденото съдържание, а сигурността ще бъде значително намалена.

3. Препоръчани практики:
Добавете Атрибут: [ValidateInput(false)] към действието, което само ще попречи страницата да валидира подаденото и няма да повлияе на други страници.




Забележка: Ако Request.Form["XXX"] бъде получен по този начин, потенциално опасна аномалия все пак ще бъде открита, затова не забравяйте да въведете данните, които искате да получите, в параметрите на контролера! !




Предишен:Проверката чрез EasyUI потвърждава, че паролата и новата парола са последователни
Следващ:Ueditor Multi-Image upload премахва функциите за онлайн управление и таб за търсене на изображения
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com