ASP.NET MVC应用程序的安全性介绍总括(高级编程)
来源:互联网 发布:ubuntu 16.04网络配置 编辑:程序博客网 时间:2024/05/29 11:49
前言:保护Web应用程序的安全性看起来时间苦差事,这件必须要做的工作并不能带来太多的乐趣,但是为了回避尴尬的安全漏洞问题,程序的安全性通常还是不得不做的。
1.ASP.NET Web Forms开发人员
(1)因为ASP.NET MVC不像ASP.NET Web Forms那样提供了很多自动保护机制来保护页面不受恶意用户的攻击,所以阅读本博客来了解这方面的问题,更明确的说法是:ASP.NET Web Forms致力于使应用程序免受攻击。例如:
1)服务器组件对显示的值和特性进行HTML编码,以帮助阻止XSS攻击。
2)加密和验证试图状态,从而帮助阻止篡改提交的表单。
3)请求验证(%@page validaterequest=”true”%)截获看起来是恶意的数据并提出警告(这是MVC框架默认开启的保护)。
4)事件验证帮助组织注入攻击和提交无效值。
(2)转向ASP.NET MVC意味着这些问题的处理将落到程序员的肩上—对于某些人来说可能会引起恐慌,而对另一些人来说可能是一件好事。
(3)如果认为框架”就应该处理这种事情”的话,那么确实有一种框架可以处理这一类事情,而且处理的很好,它就是asp.net web forms。然而,其代价就是失去了对asp.net web froms引入的抽象层次的一些控制。
(4)ASP.NET MVC提供了对标记更多的控制,这意味着程序员要承担更多的责任,要明确的是,ASP.NET MVC提供了许多内置的保护机制(例如:默认利用HTML的辅助方法和Razor语法进行HTML编码以及请求验证等功能特性)。
2.ASP.NET MVC开发人员
(1)对于存在安全风险的应用程序,主要的借口是开发人员缺乏足够的信息或者理解,我们想要改变这一局面,但是我们也意识到人无完人,总会有疏忽的时候。鉴于此,请记住下面的锦囊妙计。
1)永远都不要相信用户提供的任何数据
2)每当渲染作为用户输入而引入的数据时,请对其进行HTML编码(如果数据作为特性值显示,就应对其进行HTML特性编码)
3)考虑好网站的那些部分允许匿名访问,那些部分要求认证访问。
4)不要试图自己净化用户的HTML输入—否则将遭遇失败。
5)在不需要通过客户端脚本访问cookie时,使用HTTP-only cookie。
6)强烈建议使用AntiXss库(www.codeplex.com/AntiXSS)。
(2)同时,应用程序的构建基于这样一个假设,即只有特定的用户才能执行某些操作,其他用户则不能执行这些操作。
注解:后面将陆续介绍如何使用ASP.NET MVC中的安全特性来执行向授权这样的应用功能,然后介绍如何处理常见的安全威胁。
相信自己,你就是下一个奇迹!
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- ASP.NET MVC应用程序的安全性介绍总括(高级编程)
- ASP.NET MVC应用程序的安全性介绍总括(高级编程)
- asp.net MVC 安全性
- asp.net MVC 安全性
- ASP.NET MVC - 应用程序文件夹介绍
- ASP.NET MVC 3.0 高级编程
- ASP.NET应用程序安全性问题
- ASP.NET MVC的介绍
- [12] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序使用高级功能
- asp.net MVC 应用程序的生命周期
- asp.net MVC 应用程序的生命周期
- asp.net MVC 应用程序的生命周期
- asp.net MVC 应用程序的生命周期
- ASP.NET MVC 4高级编程(第4版)
- 《Asp.net & IIS7 高级编程》读书笔记之 IIS 站点、应用程序、虚拟目录的联系和区别
- ASP.NET MVC介绍
- ASP.NET MVC介绍
- asp.net MVC介绍
- 行为的抽象即是接口(Interface)
- java连接access
- 开源项目-文件虚拟成磁盘
- 泛型通用函数的一些特殊问题的解决方法
- java获取日期总结
- ASP.NET MVC应用程序的安全性介绍总括(高级编程)
- android NDK的android.mk文件的详解
- jquery 选择器的强大总结
- [深夜原创]C# Monitor通知机制的一个有趣的实例
- 函数指针与软件设计
- 打开指定文件夹并选中文件,打开指定文件 .NET实现
- Comparator列表排序
- javascript跨浏览器兼容快捷复制
- 进程外Session