摘要:Web网络应用开发中,安全性是要考虑的关键问题,本文通过开发系统实践,从系统规划阶段。设计开发阶段。发布运行阶段三个方面详细阐述安全策略的实现,总结出如何充分利用ASP。NET的安全机制。数据库安全控制。增强管理员网络安全防范意识,构建一个性能安全的Web应用程序。

关键字:论文网Web应用程序;web。config;认证和授权;视图;存储过程

1前言

微软公司推出的ASP。NET,可以非常方便和高效地规划。设计。开发和发布Web网络应用程序。笔者利用ASP。NET为新疆职工培训中心开发了运行在校园网上的网络办公管理系统。该系统分为管理部门和教学部门两个角色,实现了数据存储。浏览查询和教学分析统计功能,提高了培训中心的信息化管理和校园网的利用价值。在整个系统的开发过程中,考虑最多的就是安全问题,相信这也是所有开发人员开发Web网络应用程序所必须面对的问题。因此本文针对ASP。NET的Web网络应用程序开发的安全问题,以我们开发的系统为例,从3个方面来阐述实际解决策略:

(1)系统规划阶段的安全策略;

(2)设计开发阶段的安全策略;

(3)发布运行阶段的安全策略。

希望我们的实践能对利用ASP。NET开发Web网络应用程序的相关技术人员提供参考和借鉴。

2安全策略实践

2。1系统规划阶段

Web网络应用程序,就是运行在Web应用服务器上的一个虚拟目录及其子目录下的所有文件。网页。模块以及可执行代码的总和。根据系统需求分析,用户分为管理部和教学部(对数据的操作权限有区分),因此建立两个目录分别存放相应的网页文件。另外,还有数据库文件夹。样式文件夹。网页模版文件夹等。而对数据库表的操作文件放在特殊的文件夹bin下,因为该目录是禁止任何浏览器访问的,从而避免了远程客户下载代码的可能性。应用程序根目录下除了上述目录外,还有两个重要的应用程序级文件:global。asax和web。config(下文详细分析)。总之,文件目录的规划是按类别存放文件,重要文件存在bin目录下。

2。2设计开发阶段

主要从后台的数据库设计。配置文件web。config及前台界面设计三个内容,着重阐述对安全问题的解决策略。

2。2。1数据库设计

为了提高访问数据的效率和安全性,能在后台做的事情,就在后台完成,能分开独立做的事情,就分开独立实现。

(1)充分利用后台数据库系统的视图和存储过程,如:创建带参数的视图,实现不同角色身份的用户对各自权限范围内的数据访问。

(2)报表设计及实现:Web应用程序实现动态报表,开始考虑用ASP。NET的数据控件Repeater,可以自由定义灵活的显示方式,但通常比较麻烦,而且在代码中字段名要出现,即:使用数据容器Container。DataItem(“字段名“)方式来显示数据内容,降低了数据安全性。我们的做法是利用BussinessObject公司开发的专业报表软件CrystalReports10设计报表,通过ODBC数据源与数据库连接,生成报表文件(星号。rpt)后,在前台利用报表控件CrystalReprotViewer,将报表文件加载到页面实现各种报表。这种把数据源。报表文件。和页面显示文件分开独立实现,不仅丰富了报表显示样式和提高了网络报表生成效率,而且极大地提高了访问数据的安全性。

(3)用户口令存储问题:不要将实际的口令存储在数据库表中,因为口令直接放在数据库或文件中存在安全隐患,因此要存储加密后的口令。使用时,例如当用户登录时,对口令加密,然后与数据库中存放的加密口令进行比较。实现步骤如下:

首先,导入命名空间:<百分号@ImportNamespace=“System。Web。Security“百分号>

其次,编写加密函数EncrytPwd:

FunctionEncrytPwd(PwdasString,PwdFormatasString)

IfPwdFormat=“MD5“then

下面一行得到用MD5算法加密后的字符串

EncrytPwd=FormsAuthentication。HashPasswordForStoringInConfigFile(Pwd,“MD5“)

下面一行得到用SHA1算法加密后的字符串

ElseifPwdFormat=“SHA1“then

EncrytPwd=FormsAuthentication。HashPasswordForStoringInConfigFile(Pwd,“SHA1“)

Endif

EndFunction

2。2。2配置文件web。config的安全设置

web。config文件是一个简单的XML文件,专门用于为应用程序配置系统设定。安全性设定。应用程序设定和会话设定。下面分5个内容介绍安全实践策略。

(1)数据库连接字符串常量:Web应用程序网页要大量用到数据库连接,为了提高程序安全性。通用性和可移植性,在配置文件中设置数据库连接字符串常量是很好的方法,在应用程序的web。config文件中添加如下语句:

网页文件使用时,用下列代码实现数据库连接:

DimstrConnAsString

strConn=ConfigurationSettings。AppSettings(“sqlconntion“)获取数据库连接字符串

(2)认证和授权:HTML表单验证(FormsAuthentication),是向开发人员提供确认客户凭证并控制访问权限的技术。在应用程序的web。config文件中添加如下语句:

授权:就是让用户拥有有效凭证,允许或拒绝访问Web应用程序。在web。config中添加如下语句:

(3)虚拟路径的设置:不同用户对不同目录访问权限不同,可以设定虚拟目录来实现

(4)设置调试模式提高安全策略:默认情况下,错误信息保存在栈中。如果开启调试模式,ASP。NET在运行中发生错误时,会显示错误行号,方便调试。可以在页面或web。config文件中开启调试模式。例如:

<百分号@pagedebug=“true“百分号>开启页面级调试模式

开启应用程序级调试模式

但发布程序时,要禁用调试模式,否则出错时,有泄露后台代码的隐患。

(5)页面出错处理策略:出错时转向统一的出错页面,而不必在每个网页中写代码,控制转向出错页面,避免了程序运行期间任何未处理的意外发生时,错误页面代码泄露或使用户不知所云的尴尬发生。页面出错处理可以应用下列策略实现:

[1][2]下一页

上一篇:ARM核的AT75C220及其茬指纹识别系统中的應用【744字】
下一篇:ASP技术开发Web数据库检索程序【1514字】

高职院校公共机房的管理维护【2471字】

高级RFID阅读器應用對处理器的要求【1354字】

风机风量自动报警装置【517字】

项目管理茬软件中的應用【5351字】

随机型存储模型應用研究【1393字】

间谍软件之危害及其防范對策【1382字】

银行行办公信息服务系统【1544字】

老年2型糖尿病患者运动疗...

LiMn1-xFexPO4正极材料合成及充放电性能研究

网络语言“XX体”研究

ASP.net+sqlserver企业设备管理系统设计与开发

新課改下小學语文洧效阅...

互联网教育”变革路径研究进展【7972字】

张洁小说《无字》中的女性意识

安康汉江网讯

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...