Если имя ссылки выведено из базы данных, вы должны вызывать метод Html.Encode для очистки имени?Должен ли вызываться Html.Encode при создании ActionLinks в ASP.NET MVC
Например:
Html.ActionLink(Model.PersonFromDB.FirstName,
"Action",
"Controller",
new RouteValueDictionary { { "id", Model.PersonFromDB.Id } },
null)
или:
Html.ActionLink(Html.Encode(Model.PersonFromDB.FirstName),
"Action",
"Controller",
new RouteValueDictionary { { "id", Model.PersonFromDB.Id } },
null)
Это имело бы смысл, что вы хотели бы сделать это, чтобы убедиться, что нет никаких опасных строк вводили в страницу между <a>
и </a>
теги, но являются ли скрипты и такие исполняемые файлы между тегами привязки?
Я столкнулся с этим сайтом после размещения вопроса и маркировки ответа, но я считаю, что он полезен другим, которые спотыкаются на этот вопрос: http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet –