基于ASP技术下的WEB服务器安全解析
摘要:本文对asp技术下的web服务器的安全问题进行分析和总结,旨在提高使用asp技术的web开发和应用的安全性。
关键词:asp;web服务器;数据库
asp网页源码中图分类号:tp391 文献标识码:a 文章编号:1007-9599 (2012) 23-0000-02
asp是微软公司推出的基于web编程的服务器端脚本环境,asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。asp可包含html标签,也可以直接存取数据库及使用无限扩充的activex控件,因此在程序编制上要比html方便而且更富有灵活性。目前,iis+asp+sql(或access)方案已成为中小型企业构建自己网上信息系统的首选方案。虽然asp具有快速开发能力,但asp也存在很多不容忽视的安全漏洞。
1 asp程序设计安全技术
asp程序设计的安全主要涉及三个方面:asp源代码的安全、asp程序设计的安全和数据库安全。
1.1 asp源代码的安全。(1)保证asp源码的安全的主要技术是asp脚本加密技术。常用方法有两种:一是asp2dll技术。其基本思想是利用vb6.0提供的activexdll对象将asp代码进行封装,编译为dll文件,在asp程序中调用该dll文件。二是利用微软提供的scriptencoder加密软件对asp页面进行加密。(2)置合适的脚本映射。应用程序的脚本映射保证了web服务器不会意外地下载asp文件的源代码,但不安全或有错误的脚本映射易导致asp源代码泄漏。因此,应将用不到的有一定危险性的脚本映射删掉(如*.htr文件及*.htw,*.ida,*.idq等索引文件)。
1.2 程序设计中的安全。(1)用户名、口令机制。用户名、口令是最基本的安全技术,在asp中常采用form表单提交用户输入的账号和密码,与用户标识数据库中相应的字段进行匹配,在必要的场合可以使用md5算法来加密用户输入的密码,可以保证在线路被窃听的情况下依然保证数据的安全,保护用户口令的安全。(2)注册验证。为了网站资源的安全性和易于管理,可以对用户进行分级,给定权限,使特定用户访问特定的资源,也可以阻止未授权用户使用网站的资源,这就需要对用户进行注册验证操作。在asp中,我们可以利用session对象和http头信息来实现此类安全控制。当访问者通过身份验证页面后,就把session对象的sessionid属性作为一个session变量存储起来,当访问者试图导航到一种有
效链接的页面时,可将当前的sessionid与存储在session对象中的id进行比较,如果不匹配,则拒绝访问。如在session(“id”)中保存着第一次链接的sessionid,session(“id”)d%>’拒绝访问。(3)网页过期管理。考虑到有可能用户在使用网页的过程中,有可能会长时间离开计算机处理别的事情,这样会给别有用心的人有可乘之机,所以应该给网页一个过期时间。这样不仅保证了用户的安全,也可以减少服务器的链接数,减少服务器压力。可以使用session.timeout=时间,过了这么长时间网页就失效了,前提是你用一个session值来判断登录状态如session.timeout=20。(4)页面缓冲管理:页面缓冲可以加快网站的浏览速度,但也会给非法用户提供了越权浏览的机会。因此,重要的web页面(如身份验证页面)必须禁止页面缓存,强制浏览器每次向web服务器请求新页面。利用asp的response对象的expires属性和clear方法可解决此问题。具体设置:pires=0rsponse.clear,expires表示缓存页面的有效期,0表示立即过期,clear表示清空缓冲区。(5)程序错误管理:错误的执行参数和意外的执行过程,都可以导致页面出现错误提示,而这些错误提示会提供给别人很多网站的信息,比如使用数据库的类型,表中所含字段的名称等等。会造成程序的不安全。所以在编程过程中要注意对异常数据的处理和意外事件的控制,才能保证网站的安全性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论