一、 MD5 加密用戶密碼
本系統(tǒng)用戶密碼采用MD5加密,這是一種安全性非常高的加密算法,是普遍使用廣泛應(yīng)用于文件驗(yàn)證,銀行密碼加密等領(lǐng)域,由于這種加密的不可逆性,在使用10位以上字母加數(shù)字組成的隨機(jī)密碼時(shí),幾乎沒(méi)有************的可能性。
二、 COOKIES加密a
保存COOKIES時(shí),對(duì)保存于COOKIES中的數(shù)據(jù)采用了以MD5加密為基礎(chǔ),加入隨機(jī)加密因子的改進(jìn)型專用加密算法。由于使用的不是標(biāo)準(zhǔn)MD5加密,因此COOKIES中保存的數(shù)據(jù)不可能被解密。因此,黑客試圖用偽造COOKIES攻擊系統(tǒng)變得完全不可能,系統(tǒng)用戶資料變得非常安全。
三、 SQL注入防護(hù)
系統(tǒng)在防SQL注入方面,設(shè)置了四道安全防護(hù):
**、 系統(tǒng)級(jí)SQL防注入檢測(cè),系統(tǒng)會(huì)遍歷檢測(cè)所有用GET、POST、COOKIES提交到服務(wù)器上的數(shù)據(jù),如發(fā)現(xiàn)有可能用于構(gòu)造可注入SQL的異常代碼,系統(tǒng)將終止程序運(yùn)行,并記錄日志。這一道安全防護(hù)加在連接數(shù)據(jù)庫(kù)之前,能在連接數(shù)據(jù)庫(kù)前擋處幾乎所有的SQL注入和危害網(wǎng)站安全的數(shù)據(jù)提交。
第二、 程序級(jí)安全仿SQL注入系統(tǒng),在應(yīng)用程序中,在構(gòu)建SQL查詢語(yǔ)句前,系統(tǒng)將對(duì)由外部獲取數(shù)據(jù),并帶入組裝為SQL的變量進(jìn)行安全性驗(yàn)證,過(guò)濾可能構(gòu)成注入的字符。
第三、 禁止外部提交表單,系統(tǒng)禁止從本域名之外的其它域名提交表單,防止從外部跳轉(zhuǎn)傳輸攻擊性代碼。
第四、數(shù)據(jù)庫(kù)操作使用存儲(chǔ)過(guò)程 系統(tǒng)所有的重要數(shù)據(jù)操作,均使用存儲(chǔ)過(guò)程完成,避免組裝SQL字符串,令即使通過(guò)了層層SQL注入過(guò)濾的攻擊性字符仍然無(wú)法發(fā)揮作用。
四、 木馬和病毒防護(hù)
針對(duì)可能的木馬和病毒問(wèn)題,系統(tǒng)認(rèn)為,在服務(wù)器設(shè)置安全的情況下,外部帶來(lái)的安全問(wèn)題,主要是用戶可能上傳病毒和木馬,作了如下四層的防護(hù)
**、 客戶端文件檢測(cè),在上傳之前,對(duì)準(zhǔn)備上傳的文件進(jìn)行檢測(cè),如果發(fā)現(xiàn)不是服務(wù)器設(shè)置的允許上傳的文件類型,系統(tǒng)拒絕進(jìn)行上傳。如果客戶端屏蔽了檢測(cè)語(yǔ)句,則上傳程序同時(shí)被屏蔽,系統(tǒng)無(wú)法上傳任何文件。
第二、 服務(wù)器端文件安全性檢測(cè),對(duì)上傳到服務(wù)器的文件,程序在將文件寫入磁盤前,檢測(cè)文件的類型,如發(fā)現(xiàn)是可能構(gòu)成服務(wù)器安全問(wèn)題的文件類型,即所有可以在服務(wù)器上執(zhí)行的程序,系統(tǒng)都拒絕寫入磁盤。以此保證不被上傳可能在服務(wù)器上傳播的病毒和木馬程序。
第三、對(duì)有權(quán)限的服務(wù)器,系統(tǒng)采用即上傳即壓縮策略,所有上傳的除圖片文件、視頻文件外,其它各種類型的文件一但上傳,立即壓縮為RAR,因此,即使包含木馬也無(wú)法運(yùn)行。不能對(duì)網(wǎng)站安全帶來(lái)威脅。
第四、底層的文件類型檢測(cè)系統(tǒng)對(duì)文件類型作了底層級(jí)檢測(cè),由于不僅檢測(cè)擴(kuò)展名,而是對(duì)文件的實(shí)際類型進(jìn)行檢測(cè),所以無(wú)法通過(guò)改擴(kuò)展名方式逃過(guò)安全性驗(yàn)證。
五、 權(quán)限控制系統(tǒng)
系統(tǒng)設(shè)置了嚴(yán)格有效的權(quán)限控制系統(tǒng),何人可以發(fā)信息,何人能刪除信息等權(quán)限設(shè)置系統(tǒng)一共有數(shù)十項(xiàng)詳細(xì)設(shè)置,并且網(wǎng)站不同欄目可以設(shè)置完全不同的權(quán)限,所有權(quán)限均在多個(gè)層次上嚴(yán)格控制權(quán)限。
六、IP記錄
IP地址庫(kù) 除記錄所有重要操作的IP外,還記錄了IP所在地區(qū),系統(tǒng)中內(nèi)置約了17萬(wàn)條IP特征記錄。
詳細(xì)的IP記錄所有的創(chuàng)建記錄、編輯記錄行為(如發(fā)文章,發(fā)評(píng)論,發(fā)站內(nèi)信等),均記錄此操作發(fā)生的IP,IP所在地區(qū),操作時(shí)間,以便日后備查。在發(fā)現(xiàn)安全問(wèn)題時(shí),這些數(shù)據(jù)會(huì)非常關(guān)鍵和必要。
七、隱藏的程序入口
有全站生成靜態(tài)頁(yè) 系統(tǒng)可以全站生成HTML靜態(tài)文件,使網(wǎng)站的執(zhí)行程序不暴露在WEB服務(wù)中,HTML頁(yè)不和服務(wù)器端程序交互,黑客很難對(duì)HTML頁(yè)進(jìn)行攻擊,很難找到攻擊目標(biāo)。
八、有限的寫文件
系統(tǒng)所有的寫文件操作只發(fā)生于一個(gè)UPFILE目錄,而此目錄下的文件均為只需讀寫即可,可通過(guò)WINDOWS安全性設(shè)置,設(shè)置此目錄下的文件只讀寫,不執(zhí)行,而程序所在的其它文件夾只要執(zhí)行和讀權(quán)限,從而使破壞性文件無(wú)法破壞所有程序執(zhí)行文件,保證這些文件不被修改。
九、作了MD5校驗(yàn)的訂單數(shù)據(jù)
在商城訂單處理中,對(duì)提交的訂單信息作了MD5校驗(yàn),從而保證數(shù)據(jù)不被非法修改。
十、編譯執(zhí)行的代碼
由于基于.net開發(fā),代碼編譯執(zhí)行,不但更快,也更安全
我用這些辦法,作的網(wǎng)站程序叫網(wǎng)站快車,大家去看看,是不是安全。