Кодирование HTML в MVC вводится

Я работаю через NerdDinner, и я немного смущен следующим разделом...

Сначала они добавили форму для создания нового ужина с набором текстовых полей, объявленных как:

<%= Html.TextArea("Description") %>

Они затем показывают два способа связать вход формы с моделью:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create() {
    Dinner dinner = new Dinner();
    UpdateModel(dinner);
    ...
}

или:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Dinner dinner) { ... }

Хорошо, большой, что все взгляды, действительно легкие до сих пор.

Затем немного позже они говорят:

Важно всегда быть параноидальным о безопасности при принятии любого ввода данных пользователем, и это также верно когда объекты привязки для формирования входа. Необходимо всегда стараться для HTML, кодируют любые вводимые пользователями значения для предотвращения HTML и нападений инжекции JavaScript

Ха? MVC справляется с привязкой данных для нас. Где/как Вы, как предполагается, делаете кодирование HTML?

7
задан animuson 6 September 2012 в 21:58
поделиться

1 ответ

Обычно (но не всегда) вы хотите кодировать значения в HTML перед их записью, обычно в ваших представлениях, но, возможно, также и из контроллера.

Некоторая информация здесь: http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax-for-html-encoding-output-in-asp- net-4-and-asp-net-mvc-2.aspx

3
ответ дан 7 December 2019 в 16:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: