|
|
1
2
事实上
XSS(跨站点安全) 是一种安全攻击,攻击者在执行数据输入时插入恶意代码。此代码可以是javascript、vbscript或任何其他脚本代码。一旦代码被注入到最终用户浏览器中。此代码可以运行并访问cookie、会话、本地文件等。 现在好消息是,在ASP.NET MVC中,XSS在默认情况下是被阻止的。因此,如果有人试图用输入发布JavaScript或HTML代码,他会出现以下错误。
但在现实生活中,有些场景必须允许使用HTML,比如HTML编辑器。所以对于那些场景我们用
但这样做有问题。我们允许HTML和脚本上的完整动作,这可能是危险的。假设我们发布的表单有五个输入文本字段,现在所有五个文本字段都可以包含HTML和脚本。 而是这个 Microsoft article 建议:
所以底线是
有关更多详细信息,请阅读 ASP.NET Security - Securing Your ASP.NET Applications |
|
|
2
0
对于这个场景,我们可以做下面解释的事情 this tutorial 我的解决方案基于上面的教程,除了我在model binder中添加了清理逻辑,这意味着我们允许HTML输入,但是使用 HTMLSanitizer 以清除输入。 定义了自定义模型绑定器:
并将其用于特定参数:
|