Приложение MVC2 с Ckeditor "потенциально опасный Request.Form - PullRequest
2 голосов
/ 13 августа 2010

При использовании моего редактора FCK я получаю исключение "Потенциально опасное значение запроса Request.Form было обнаружено от клиента".

Как можно кодировать перед отправкой формы или отключить эту проверку без отключения проверки аннотаций данных?

Это код моего взгляда:

 <% using (Html.BeginForm()) {%>
        <%: Html.ValidationSummary("Please complete in a right way the fields below.") %>

        <fieldset>
            <legend>Fields</legend>
            <div class="editor-field">
                <%: Html.LabelFor(e => e.Name)%>
                <%: Html.TextBoxFor(e => e.Name)%>
                <%: Html.ValidationMessageFor(e => e.Name)%>
            </div>
            <div class="editor-field">
                <%: Html.LabelFor(e => e.Teaser) %>
                <%: Html.TextAreaFor(e => e.Teaser)%>
                <%: Html.ValidationMessageFor(e => e.Teaser)%>
            </div>
            <div class="editor-field">
                <%: Html.LabelFor(e => e.Description) %>
                <%: Html.TextAreaFor(e => e.Description)%>
                <%: Html.ValidationMessageFor(e => e.Description)%>
            </div>
            <p>
                <input type="submit" />
            </p>
        </fieldset>

    <% } %>

<script type="text/javascript">
   //<![CDATA[
   // This call can be placed at any point after the
   // <textarea>, or inside a <head><script> in a
   // window.onload event handler.
   // Replace the <textarea id="xxxxxx"> with an CKEditor
   // instance, using default configurations.
   CKEDITOR.replace("Description");
   //]]>
</script>

Заранее большое спасибо.

Ответы [ 4 ]

4 голосов
/ 13 августа 2010

<httpRuntime requestValidationMode="2.0" />

Проверка: Проверка запроса - ASP.NET MVC 2

3 голосов
/ 07 декабря 2010

[script type = "text / javascript" src = "/ ckeditor / _source / core / editor.js"] [/ script]

CKEDITOR.config.htmlEncodeOutput = true;

2 голосов
/ 23 мая 2014

Если вы работаете с редактором FCK или CKeditor, вам не нужно иметь дело с «requestValidationMode». Как это будет применяться на всем приложении. Вы можете просто сделать следующее:

CKEDITOR.replace('Description', { toolbar: '1', htmlEncodeOutput: true});

Тогда в контроллере:

model.Body = System.Net.WebUtility.HtmlDecode(model.Body);
0 голосов
/ 15 августа 2010

config.htmlEncodeOutput

Но может быть проще использовать оболочку .Net для CKEditor .

...