Всем привет!
У меня пользователи пишут записи в свои блоги, оформляют статьи в html редакторе, в базу идет html текст, контроллер создания записи:
[HttpPost]
[ValidateAntiForgeryToken()]
public JsonResult CreateRecordBlog(BusinessLayer.Record.Record recordBL)
{
...
модель статьи:
[Required]
[AllowHtml]
[StringLength(5000, ErrorMessage = "Размер записи должен быть минимум 200 знаков и максимум 5000.", MinimumLength = 200)]
public string Text { get; set; }
...
как видите разрешен html текст.
Недавно обновил версию асп, ну и все nuget пакеты, кроме обновления пакетов ничего больше не трогал. При публикации записи, на локале все ок, публикуется, а на сервере вот такой эксепшн:
Обнаружено потенциально опасное значение Request.Form, полученное от клиента (Text="
выаываываывав
...").
выаываываывав - это тест для публикации. Все пересмотрел, не публикует хоть тресни, а на локале (локал настроен на боевую БД на хосте) все работает.
В итоге на контроллер создания записи пришлось навесить:
[ValidateInput(false)]
теперь работает, но как же раньше оно работало? И я так понимаю это брешь в безопасности, теперь можно записать всякую гадость, скрипт и т. д.