网站设计的信息安全隐患预防

来源:未知
发布时间:2012-08-13 04:54
点击数:
分享到:

网站设计的信息安全隐患预防范文

网络技术的日益发展成熟和人们生活方式的不断改变,使得基于Web技术的电子商务网站得到了迅猛的发展,电子商务网站在给人 们生活带来方便快捷的同时,也有不法分子利用网络或网站进行欺诈等非法活动,给消费者或商家带来一定的经济损失,为了解决这 个问题,不少专家在网络安全及其网站安全方面做了研究与实践,文中的就是阐述在电子商务网站设计中碰到的常见安全问题、安全 漏洞等,并对这些问题和漏洞进行了处理,使得网站更加安全,包括机密性、完整性和可用性等方面都有很大的改进。尤其是数据加 密处理,病毒防治,实现整个软件可维护性、可管理性高的要求。

1控制登录错误机制

有些非法用户想用暴力破解法强行登陆,通过多年的电子商务网站安全性研究,设计了一个算法,实现对非法用户的锁定,以保 护电子商务网站。当用户进入登录页面时,只需提供自己注册时的用户名和密码等,只有输入正确的用户名和密码才能够登陆到相应 的页面。如果用户的权限是系统管理员,成功登陆后才可进入管理员操作界面。如果电子商务网站采用本文所设计的算法后,即使有 非法用户跳过登录页面直接进入管理员操作页面的话,那么系统将会自动将其返回到登录页面进行登录操作。在进行登录操作时,系 统会对错误登录开始计数,错误登录3次将会进入保护状态而禁止非法用户继续进行操作。

2电子商务网站攻击过滤类

2.1攻击过滤类

文中设计了一个电子商务网站攻击过滤类,通过该类的应用,使得最终提交给应用程序的数据是干净的,没有安全隐患的,具体 实现流程如图1所示。电子商务网站攻击过滤类的关键成员函数如下publicfunctionprocess($source){if(is_array($source)) {foreach($sourceas$key=>$value)if(is_string($value))$source[$key]=$this->remove($this->

decode ($value));return$source;}elseif(is_string($source)){return$this->remove($this->decode($source));} elsereturn$source;}protectedfunctionremove($source){return$this->filterTags($source);}protectedfunctiondecode ($source){$source=html_entity_decode($source,ENT_QUOTES,"ISO-8859-1");$source=preg_replace('/&# (\d+);/me',"chr(\\1)",$source);//十进制$source=preg_replace ('/&#x([a-f0-9]+);/mei',"chr(0x\\1)",$source);//十六进制return$source;}具体函数调用关系如图2所示。

2.2过滤易发生XSS攻击的标签

要想过滤易发生XSS攻击的标签,首先必须找到所有的标签,然后才能与黑名单中的标签进行对比。本系统采用的是寻找'<'和 '>'来查找数据中的所有标签。标签中有可能出现嵌套,判定的方法是第1个'<'之后还有'<',并且在'>'之前,如果用 $tagOpen_nested来记录第2个'<'的位置,$tagOpen_end来记录第1个'>'的位置,那么判断是否为嵌套的方法为: ($tagOpen_nested!==false)&&($tagOpen_nested<$tagOpen_end)如果表达式为真的话那么必定是嵌套标签。

用$fromTagOpen记录'<'之后的所有字符串,那么当前处理的标签名为:$currentTag=substr ($fromTagOpen,0,$tagOpen_end);当然还要检查是否为关闭标签,如果是关闭标签还要取出'/',检测和处理代码如下:if(substr ($currentTag,0,1)=="/"){$isCloseTag=TRUE;$tagName=substr($tagName,1);}找到标签名之后,就可以进行过滤,代码 如下if((!preg_match("/^[a-z][a-z0-9]*$/i",$tagName))||(!$tagName)||((in_array(strtolower($tagName),$this- >tagBlacklist))&&($this->xssAuto))){$postTag=substr($postTag,($tagLength+2));$tagOpen_start=strpos ($postTag,'<');}这样黑名单中的标签和那些非标准的html标签就被过滤掉了,过滤后的内容存储在$postTag中。

获取属性的方法就是在'<'和'>'之间'='两边就是属性名和属性值。代码如下while($currentSpace!==FALSE) {$fromSpace=substr($tagLeft,($currentSpace+1));$nextSpace=strpos($fromSpace,'');$openQuotes=strpos ($fromSpace,'"');$closeQuotes=strpos(substr($fromSpace,($openQuotes+1)),'"')+$openQuotes+1;if(strpos ($fromSpace,'=')!==FALSE){if(($openQuotes!==FALSE)&&(strpos(sub-str($fromSpace,($openQuotes+1)),'"')! ==FALSE))$attr=substr($fromSpace,0,($closeQuotes+1));else$attr=substr($fromSpace,0,$nextSpace);}else$attr=substr ($fromSpace,0,$nextSpace);if(!$attr)$attr=$fromSpace;$attrSet[]=$attr;$tagLeft=

substr($fromSpace,strlen ($attr));$currentSpace=strpos($tagLeft,'');}这样所有的属性都被存进$attrSet数组中了。方便调用filterAttr()函数对属性进 行过滤。

3结语

对电子商务网站设计中常见的漏洞进行了介绍,并针对电子商务网站常见的安全隐患和漏洞给出了相应的解决方案,尤其是本文 设计的电子商务网站攻击过滤类,能很好的增加电子商务网站的信息安全性,使得消费者和商家能更好的进行交易活动。

 

[发布者:yezi]
  相关阅读:  ·国内正规期刊的特征及识别方法  ·什么是双核心期刊  ·核心期刊辨别的基础知识  ·医学论文发表的期刊推荐和指导  ·我国高校对期刊定级的现状
期刊评价动态