在面试的时候当面试官问道:“你知道怎么提高网站的安全性吗?”这个问题时,我总是回答的不够完整,所以今天我浏览了各大高手的博客,以及通过看书稍微总结一下,也许还是不完整,希望这方面高手也能出来指点一二。
首先探讨一下,什么是网站的安全性?
就网站而言,因为网站的定义有许多种,所以各种关于网站安全的定义也不同。有的定义为:网站安全就是保护网上保存的数据和流动的数据,不被别人偷看、窃取或者修改。也有的定义为网站信息安全是指保护信息财产,以防止偶然的或者未授权者对信息的泄露、修改和破坏,从而导致信息的不可行或者无法处理。笔者认为网站的安全定义是指利用利用网站管理控制和技术措施,保证在一个网站环境里,信息数据的机密性、完整性以及可使用性受到保护。
网站安全的主要目标是确保经网站传送的信息在达到目的站时没有任何增加、改变、丢失、或者被非法读取。要做到这一点必须保证网站系统软件、应用软件系统、数据库系统具有一定的安全保护功能,并保证网站部件如终端、调制解调器、数据库链路等功能不不变而且仅仅是那些被授权的人们可以访问。
.net 网站安全的相关技术以及解决办法
1. .net中的身份验证
. net中提供了用户身份验证机制, 其可以通过web. config件的设置来进行。web. config是一个xml文档,根元素是configuration ,其下包含一个system. web节点, system. web节点的下层则是对站点的各种设置。web. config可以设置的标记非常多,如可以用它来保存数据库的一些相关连接数据,进行浏览器的设置,进行编译方式的设定,这样可以避免暴露一些重要的信息。此外,网站中的每一个子目录也可以有一个web. config文件,其设定自动覆盖其父目录的相关设定。在web. config中,其提供了四种身份验证机制: windows验证、forms验证、passport验证和none验证。前两种验证都要对IIS进行相应的配置, Windows验证需要把IIS的目录安全性中的验证方法集成windows验证,而forms验证则要在IIS的目录安全性中的验证方法选中匿名访问, 在forms验证中我们可以使用HTTP客户端重定向将未经身份验证的请求重定向到HTML窗体。Passport身份验证是通过Microsoft的集中身份验证服务执行的, None验证为不执行身份验证
2. Md5加密