Разрешить только определенные теги HTML в качестве пользовательского ввода
Мой сайт позволяет пользователям сайта писать посты в блоге.
class BlogPost
{
[AllowHtml]
public string Content;
}
Сайт создан с использованием шаблона интернет-приложения MVC5 и использует для него загрузчик 3с CSS. Поэтому я решил использоватьhttp://jhollingworth.github.io/bootstrap-wysihtml5 позаботиться обо всей JavaScript-части Rich Text Editor.
Отлично работает. Но чтобы сделать POST, я должен был добавить[AllowHtml]
атрибут, как в коде выше. Так что теперь яЯ боюсь опасных вещей, которые могут попасть в базу данных и, в свою очередь, отобразиться всем пользователям.
Я пытался дать такие значения, какalert("What's up?")
и т. д. в форме, и, казалось, все в порядке ... текст отображался точно так же ( стал
<script>
, Но это преобразование, казалось, было сделано с помощью плагина javascript, который я использовал.
Поэтому я использовал fiddler для составления запроса POST с тем же тегом сценария, и на этот раз страница фактически выполнила код JavaScript.
Есть ли способ, которым я могу определить уязвимый вклад, как и даже
<a href="javascript:some_code">Link</a>
...?