Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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