Я все еще новичок в ASP.Net и не понимаю, как исправить следующую проблему.Rich Text vs XSS
Мне нужен богатый текст для публикации в моем проекте. Я добавил NicEdit, потому что он выглядит прост в использовании.
Итак, как и ожидалось, я получил сообщение об ошибке с сервера.
A potentially dangerous Request.Form value was detected from the client(compteRendu="blablbab<br><br>test<br>").
Я попытался исправить это с помощью htmlencoder, но мне не удалось его использовать.
Что я сделал:
<script type="text/VB">
htmlEncode {
model.compteRendu = HtmlEncode(model.compteRendu)
}
</script>
@Using Html.BeginForm(IsPost)
@Html.ValidationSummary(True)
@<fieldset>
<legend>meeting</legend>
@Html.HiddenFor(Function(model) model.idmeeting)
<div class="editor-label">
@Html.LabelFor(Function(model) model.compteRendu)
</div>
<div class="editor-field">
@Html.TextAreaFor(Function(model) model.compteRendu)
@Html.ValidationMessageFor(Function(model) model.compteRendu)
</div>
<p>
<input type="submit" value="Save" onclick="htmlEncode"/>
</p>
</fieldset>
End Using
Итак, что я сделал не так? Я также судимое сделать это внутри контроллера, но я не нашел какой-либо метод, который должен был кодировать HTML-
' POST: /Meeting/Edit/5
<HttpPost()>
Function Edit(meeting As meeting) As ActionResult
meeting.compteRendu = HttpEncode(meeting.compteRendu)
If ModelState.IsValid Then
...
пс: Я не носителем английского языка, извините, если мой английский отстой.
Редактировать: На данный момент мне не нужно больше, чем что-то, что позволяет мне заменить мои «новые линии» на
.
Таким образом, я обнаружил, что я мог сделать ИИТ так:
@Html.Raw(meeting.compteRendu.Replace(System.Environment.NewLine, "<br />"))
На данный момент, это нормально для меня. Но я не уверен, может быть, мне нужно будет создать текст с цветами и т. Д. Поэтому, если у вас есть идея о том, как я могу отправить проверенный богатый текст в мою базу данных, я буду очень рад.
Это выглядит, как он мог это отвечает http://stackoverflow.com/questions/81991/a-потенциально-опасный-request-form-value-was-detected-from-the-client –
Я уже нашел/прочитал эту тему. Но я не очень доволен этими решениями. eg: validateRequest = "false" Я также попытался добавить: , но этого было недостаточно для проверки без ошибок того, что мне было нужно. И затем я попробовал HtmlEncode, о котором они говорили, без успеха ... btw, thx на время, потраченное на это исследование –