大部分情况下,使用简单的HTML编码就可以避免XSS——服务器通过这个过程讲HTML保留字符(如“<”和“>”)替换为“编码。对于ASP.NET MVC而言,只需要在视图中使用 Html.Encode 或 Html.AttributeEncode 方法就可以实现对特性值的“编码”替换。
如果只学到了一个知识点,那么一定是:页面上的每一点输出都应该经过HTML编码或HTML特性编码的。在这里重申一下:Html.Encode 是程序员最好的“朋友”。
? 这里值得一提的是, ASP.NET Web Forms 把程序员引导了一个使用了服务器控制和毁掉的系统中,这样可以阻止大多数的XSS攻击。虽然不是所有的服务器控制都可以防御XSS攻击( 例如标签和字面量 ),但是整个 Web Forms 程序包都倾向于把我们推向安全的方向。
? ASP.NET MVC提供了更多自由——但他也支持一些开箱即用的保护。例如,使用HtmlHelpers对HTML以及每个标签的特性值进行编码。此外,因为仍然在页面模型中工作,所以每个请求会一直保持有效,直到手动关闭。
但是,为了ASP.NET MVC,不一定要使用上述方法。可以使用代替的视图引擎手动编写HTML——这都取决于个人,而且这也是关键所在。然而,我们需要在知道放弃了哪些自动安全特性的基础上作出决定。
大多数情况下,我们关注的是页面上的HTML的输出;然而,保护那些在HTML中动态设置的特性也是非常重要的。有些示例也阐述了这个问题,她演示了如何通过向URL中注入某种恶意代码来哄骗URL。
关于TeamDoc软件:
TeamDoc是基于服务器/客户端架构的轻量级文件管理软件。TeamDoc将文件集中加密存储在您单位自己的服务器中,员工使用TeamDoc客户端访问服务器,从而获得与自己权限相关的权限:登入后与“我的电脑”界面类似,可以看到自己该看的文件,编辑自己能编辑的文档,对于能看到的文件,还可以细分文档权限,进而做到能看不能拷,能看不能截屏等功能,多种权限灵活设置,在线协同编辑、全文搜索、日志与版本追踪,快速构建企业文档库。告别假大空,我们提供值得您选择的、易用的、可用的文档管理软件。现在就访问TeamDoc首页
TeamDoc软件界面(点击可放大)
版权所有:南京网亚计算机有限公司,本文链接地址: 对所有内容进行页面HTML编码