2.5 系统安全问题
随着计算机的普及和网络技术的迅速发展,人们也越来越依赖于计算机和网络。因此,网络安全应该也必须引起注意。网络安全是一门涉及计算机、网络、通讯、密码、信息安全、应用数学、数论、信息论等多种学科的综合性学科,涉及面极广,而且不断更新和发展。国家对信息产业的扶持,使国内的网络状况逐渐好转,更多的服务器的开通,更快的宽带网得逐渐普及,各种各样的攻击行为在网上也越来越频繁化和简单化。
微软在推出 ASP 时提到的 ASP 的一个好处是:Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。然而,由于 NT、IIS 以及 ASP 系统本身存在的一些漏洞,却可能使 ASP 源码暴露无遗,解决方法就是及时更新补丁。
对于asp程序本身问题,如何提高网页的安全性,以下是我的一些方法心得:
1,找到密码和账号是通过SQL注入找到的。虽然MD5加密的密码不能被逆向破解,但是存在SQL注入漏洞的话对方完全可以用代码直接将你的密码改为AAABBBCCCDDDEEEF,也就是密码为1。就可以直接登录了。所以最关键的问题在于如何防止SQL注入。
SQL注入方式已经太多资料了,我就不转载了。简单的说,SQL注入就是通过巧妙插入SQL代码,让系统执行,从得到的结果来一步步解开破解信息。而这个代码,只要是交互的地方都有可能被插入。例如字符串传递:XXX.asp?id=****,或者在用户名输入框,或者搜索框.......
因此,我们只要保证所插入的信息没有SQL代码就可以了。
例如,用户登录程序中,我们只要把
username=request.Form("username")
修改为
username=trim(request.Form("username"))
也就是去掉空格,这样SQL代码就没法用,就基本可以防范从用户登录界面进行SQL注入了。但是还不够,因为空格可以用unicode码代替,所以我们还要把unicode特有的字符%替换掉,就没问题了。
对于从字符串传递的参数,我们也可以同样处理,用trim()去除空格,然后用replace替换% 。这样还不够,还应再把()小括号替换掉,把单引号'替换掉。
如果是id之类纯数字,还应在用cint()强制转为数字,如果不是数字就会在这一步出错。
2,这个问题实际上和第一个问题是一样的,就是从防止SQL注入出发。
3,只要你的网站还有输入的地方,而且这个输入的地方会被诸如sql="select * from asdf where id="&id这样的语句执行,就必须防范SQL注入。Access+asp除了防范SQL注入,还要防范暴库,也就是被黑客用一些语句判断出你的数据库地址,把你整个数据库下载下来。。。。到时候还不是想怎么看就怎么看,想怎么玩就怎么玩!
防止数据库被下载,你可以在数据库里面新建一个表,表里面输入一个文本内容为<%asdfasdfasdf%>随便输,反正只要不能被执行就可以了。然后把数据库改名为.asp后缀,这样对方试图下载的时候就会提示:asp解析出错,第XX行。这样就不用怕暴库了。此外配置mdb文件解析对应,配置数据池等等方法都可以比较有效的防止暴库。
网络环境的复杂性、多变性,以及信息系统的脆弱性,决定了网络安全威胁的客观存在。我国日益开放并融入世界,但加强安全监管和建立保护屏障不可或缺。国家科技部部长徐冠华曾在某市信息安全工作会议上说:“信息安全是涉及我国经济发展、社会发展和国家安全的重大问题。近年来,随着国际政治形势的发展,以及经济全球化过程的加快,人们越来越清楚,信息时代所引发的信息安全问题不仅涉及国家的经济安全、金融安全,同时也涉及国家的国防安全、政治安全和文化安全。因此,可以说,在信息化社会里,没有信息安全的保障,国家就没有安全的屏障。信息安全的重要性怎么强调也不过分。”目前我国政府、相关部门和有识之士都把网络监管提到新的高度,上海市负责信息安全工作的部门提出采用非对称战略构建上海信息安全防御体系,其核心是在技术处于弱势的情况下,用强化管理体系来提高网络安全整体水平。衷心希望在不久的将来,我国信息安全工作能跟随信息化发展,上一个新台阶。
第三章
具体实现方案
3.1 系统设计
3.1.1 功能需求分析
传统的软件工程方法学使用结构化分析技术,完成分析用户需求工作。需求分析要了解用户的情况,接下来通过与用户交流,对用户的基本要求反复细化,以得出对目标系统的完整、准确和具体的需求。需求分析是为了发现用户的真正需求,首先应从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。在654上网导航网站中,用户所需要的无非就是尽可能快捷的到达所想到网站类型。因此在做首页时,充分考虑到了不同类型的网站,要清晰的分类,按照“自然习惯”进行排序,这样才能更好的为用户服务。
因此下面仅列出我负责的三部分子系统的分析设计部分。
3.1.2 系统功能模块结构设计
结构化分析实质上是创建模型的活动。数据模型包含三种相互关联的信息:数据对象、描述数据对象的属性及数据对象彼此间相互连接的关系。
数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物。在这个查询系统中,数据对象就是网址和用户。
属性是指数据对象的性质,在确定属性时,应该根据对所要解决的问题来理解。
关系是指数据对象之间相互连接的方式。
图1实体关系图
从图3.1可以看到,网址分为普通网站、精彩、行业、城市四种属性,而用户的属性在这里是不重要的,也就是说用户的属性对整个查询没有影响。用户只要点击相应位置就会自动调转、使得更有亲和感、实用感。因此在制作整个系统时,定位于网民的各种需要,充分考虑到以上因素,并以其思想贯穿整个系统。
3.1.3 前台功能分析
654上网导航构图如下:首页中包含了导航栏目:如频道栏、热门网址、搜索栏、名站导航(收藏夹)、网址分类,实用工具、常用软件、网站榜中榜、闹钟日历天气预报、炫酷图铃榜、人气影视榜、流行音乐榜、热点推荐、新站导航等等。
首页主要栏目简介:
闹钟日历:提供给您标准的北京时间(公历农历),还具有闹钟功能。
天气预报:显示3天的天气情况,为您的生活和出行提供最好的参考。
收 藏 夹:个性化的网址收藏,便于存放您常用的网址。
热门话题:与您一起关注网络上的热点动态,关注生活。
搜索引擎:集成网页、图片、新闻、MP3、购物等搜索于一体。
名站导航:收录中国最具人气、最常使用的各大知名网站。
实用工具:标准智商