ASP.NET 4.5 Потенциально опасное значение Request.Form было обнаружено от клиента

У меня есть редактор WYSIWYG, встроенный в пользовательский элемент управления, который явно входит в веб-страницу. Когда я отправляю страницу, я получаю исключение "Обнаружено потенциально опасное значение Request.Form от клиента". В предыдущих версиях.NET я бы просто отключил ValidateRequest для этой страницы.

Однако в.NET 4.5, похоже, имеется свойство ValidateRequestMode. Когда я установил это в отключено, я все еще продолжаю получать ошибку. Относительно ошибок.NET 4.5 пока не так много, так что кто-нибудь знает решение?

Заранее спасибо.

2 ответа

Решение

Я нашел проблему. Это было связано с редактором TinyMCE, которому нужно было закодировать контент до того, как код попытался прочитать и опубликовать его. Решение состояло в том, чтобы кодировать через javascript, как предложено m0s. TinyMCE имеет встроенную опцию, которую вы можете установить

encoding: "xml"

То, что я установил, но это не кодирует апострофы, которые я имел в содержании. Поэтому, чтобы исправить это, вы должны добавить это в функцию инициализации TinyMCE на странице:

TinyMCE 3.x

setup: function (ed) {
    ed.onSaveContent.add(function (i, o) {
        o.content = o.content.replace(/&#39/g, "&apos");
    });
}

TinyMCE 4.x

setup: function(editor) {
    editor.on("SaveContent", function(i) {
        i.content = i.content.replace(/&#39/g, "&apos");
    });
}

Я нашел решение здесь: http://blog.tentaclesoftware.com/archive/2012/05/21/asp-net-4-0-tinymce-and-ldquoa-potentially-dangerous-request.aspx

Надеюсь, что это помогает кому-то!

Я решил это, добавив [AllowHtml] до свойства контента public virtual string content{ get; set; },

Другие вопросы по тегам