[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"] буде отримано таким чином, потенційно небезпечна аномалія все одно буде виявлена, тому обов'язково вставляйте потрібні дані в параметри контролера! !
|