或打開微信搜索編輯老師微信號添加:
網站設計的信息安全隱患預防范文
網絡技術的日益發展成熟和人們生活方式的不斷改變,使得基于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(十進制$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結語
對電子商務網站設計中常見的漏洞進行了介紹,并針對電子商務網站常見的安全隱患和漏洞給出了相應的解決方案,尤其是本文設計的電子商務網站攻擊過濾類,能很好的增加電子商務網站的信息安全性,使得消費者和商家能更好的進行交易活動。