繁体   English   中英

防止用户在asp.net mvc视图中输入脚本标签

[英]prevent user to enter script tags in asp.net mvc view

我在asp.net-mvc中有一个登录视图。 我希望该用户无法在用户名或密码字段中输入标签

为什么要阻止用户输入标签? 让他进入他想要的任何地方。 为什么要阻止某人使用诸如<script>alert('hello');</script>之类的密码-它看起来像是一个很强的密码。 我个人讨厌网站限制我对密码的选择。

只需确保对视图中输出的所有内容进行编码:

所以代替:

<div>Hello <%= Model.Username %></div>

始终使用:

<div>Hello <%= Html.Encode(Model.Username) %></div>

要么:

<div>Hello <%: Model.Username %></div>

如果您正在使用ASP.NET 4.0

另外,正如@Jab在评论部分中指出的那样,为了接受来自用户的此类输入,您可能需要使用[ValidateInput(false)]属性装饰将处理提交的控制器操作。

如此处所述,定期消毒方法是否由于某些原因不适用于MVC?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM