У меня есть приложение MVC 4, в котором я пытаюсь имитировать приложение XSS. У меня просто есть кнопка и текстовое поле, которое просто выведет значение, введенное в текстовое поле, как показано ниже. Когда я вводим <script>alert('xss')</script>
в текстовое поле автоматически, исключение показывает, что сообщение об опасном значении было обнаружено у клиента. Как я могу предотвратить это, по крайней мере, для учебных целей. Теперь исключение не возникает после того, как он дал советы Furqan. Однако я ожидаю появления окна предупреждения, но это не так, и вместо этого тег скрипта отображается как строка.Имитация атаки XSS в приложении VS2012 MVC4
Может кто-нибудь объяснить, почему это так?
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<h2>@ViewBag.Message</h2>
<form method="post" action="/home/index">
<input type ="text" id="text" name="search" value="@ViewBag.Message"/>
<input type="submit" />
</form>
Это мои действия с контроллером.
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string search)
{
ViewBag.Message = search;
return View();
}
использовать атрибут '[AllowHtml]' для метода index для HTTPPost Request. –
[AllowHtml] действителен только для свойств – ckv
Извините, забыл об этом, используйте '[ValidateInput (false)]' для действия контроллера. –