
前言
随着Web应用程序的广泛应用,其安全问题正变得越来越重要。如果我们不能加倍关注如何构建和维护一个Web应用程序的安全,那么即使最简单的Web应用程序也会因为安全问题给我们带来意想不到的麻烦。只有理解和使用我们所拥有的安全特性,并理解对安全问题造成的威胁,我们才能设计出相对安全的Web应用程序,使危及它们安全的可能性降至最小。
最近,频频传出网站遭受黑客攻击的消息,导致信息的泄露和网站内容的恶意乱改,因此无论怎样夸大保障Web应用程序安全的重要性都不为过。对一个公司来说,安全漏洞将会造成非常严重的后果:不仅黑客可能破坏或者干扰应用程序的正常运行,而且更严重的是导致机密数据的泄露。
在某些方面,保障Internet上Web应用程序的安全变得越来越复杂,因为它并没有达到人们当初设计Internet的初衷(Internet的设计意图是使我们能够向其他人发布信息以及有效的共享信息)。现在很多政府部门、金融机构和商业领域等都在使用 Web应用程序处理相关事务。因此,开发人员和系统管理员应该承担保障一个应用程序的安全的责任。
Microsoft利用许多复杂的安全特性(例如代码访问安全性和基于角色的安全性)设计了ASP.NET和.NET Framework,并且利用这些安全特性作为保障安全的关键组成部分。也就是说,开发人员和系统管理员都要负责保护Web应用程序的安全。如何有效地运用 ASP.NET和.NET Framework的安全特性:我们需要掌握它们的工作方式,了解Web安全问题及其相应的对策。
简而言之,保障ASP.NET应用程序安全有两个关键方面。系统管理员的责任是:构建安全的Web应用程序运行环境,包括安装和配置代理服务器、配置 IIS、关闭隐患端口和不必要服务等。当然,开发人员也需要详尽了解Web程序的运行环境,但是他们的重点是:如何实现一个Web应用程序内部的安全特性。这是保障ASP.NET应用程序安全的第二个方面,并且包括实现身份验证、访问授权、代码访问安全性,等等。就以上两个关键方面的责任本书都做了详细探讨。
本书主要内容
在本书中,我们明确和全面研究了ASP.NET开发人员所关心的安全问题的各个方面。在开发ASP.NET时,我们可以利用.NET Framework提供的复杂环境,来保障应用程序的安全。
第1~第3章,主要介绍了ASP.NET应用程序的基础知识,Web应用程序的安全简介,以及ASP.NET的安全体系结构,通过这3章读者可以对ASP.NET Web应用程序的安全问题有个整体的认识。
第4~第11章,主要对ASP.NET的输入验证技术、存储加密技术、身份验证和访问授权机制、代码安全访问策略、ASP.NET Web服务的安全策略、.NET Remoting安全机制以及数据库访问安全机制做了详细介绍。
第12章主要介绍ASP.NET的日志和监测机制,通过ASP.NET的日志和监测机制可以使开发人员开发出更加健壮和易于维护的Web应用程序。
第13章主要从总体指导原则、操作系统、数据库、Web以及ASP.NET等5个方面进行讲解,介绍如何构建安全的ASP.NET应用程序,起到了提纲挈领的作用。
第14章通过一个综合案例的开发,介绍了如何使用前面章节中涉及到的某些安全技术来构建安全的ASP.NET应用程序。
学习本书的条件
要运行本书中的示例,您必须具备:
● 一个合适的操作系统:Windows XP Professional Edition及其以上版本操作系统
● .NET Framework 3.5
● 本书中的一些示例需要安装SQL Server 2005或者MSDN
● 有利的开发工具:Visual Stadio 2008
● 本书中的所有程序的源代码可在http://www.tqxbook.com.cn的资源下载链接中下载
本书适应读者
本书面向所有准备学习或正在学习与开发ASP.NET Web应用程序的读者,如果您想开发出一个健壮的ASP.NET程序,那么本书将是一本难得的参考资料。
联系作者
本书由陆昌辉、丁健、王龙飞等编著,此外参加编写的人员还有李东晖、陈天霞、封朋成、文龙、唐晨光、黄科、杭志、胡勇辉、许宾、兰湘涛、王石罗、倪文志。
本书内容涵盖面广而深,尽管我们尽了最大的努力将错误降到最低,但难免会存在错误和疏漏的地方,读者可以通过邮箱dj_csut@163.com和Guopengfei@phei.com.cn提交bug信息和对本书的修改建议。我们真诚希望能够得到广大读者的反馈信息,我们将认真阅读所有的E-mail,并给予细致的回复。
编者
2010年5月