MVC c#阻止xss

时间:2013-11-08 12:05:42

标签: asp.net-mvc xss

我的网站上有一个简单的电子邮件表单,上面有mvc c#。

如果我添加到文本框alert(“test”),我会得到以下异常:

A potentially dangerous Request.Form value was detected from the client (Message="<script>alert("test"...").

我不希望用户能够插入javascript。我需要html编码我会在这个字段上做这个

 @Html.TextAreaFor(model => model.Message, new { @style = "width:800px;height:300px;" })

2 个答案:

答案 0 :(得分:2)

选项1:查看接受的答案: HTML-encoding lost when attribute read from input field

选项2:将[AllowHtml]属性放在绑定到此文本框的模型项上,并将该值放入控制器中,您可以使用HtmlEncode。

选项3:将[ValidateInput(false)]属性放在您的控制器操作上,无论如何都可以通过,然后您可以对所有内容进行自定义验证

答案 1 :(得分:0)

使用System.Web.HttpUtility.HtmlEncode对所有用户输入进行编码,避免使用XSS攻击。