技術(shù)資訊
如何加強(qiáng)網(wǎng)站程序的安全性
2015-08-19 00:10:10
網(wǎng)站程序的安全是系統(tǒng)開發(fā)人員必須考慮的重要因數(shù)之一,因?yàn)檫@涉及到網(wǎng)站的建設(shè)者、網(wǎng)站用戶的諸多安全問題,如果不處理好,可能會(huì)給系統(tǒng)的使用者和管理者帶來嚴(yán)重問題。同時(shí)Web應(yīng)用程序的安全解決方案不僅是技術(shù)問題,還涉及到管理等多個(gè)方面。但本文僅從四個(gè)最常見的、基本的、可通用的方面加以介紹,并對(duì)每個(gè)安全問題從:為什么、怎樣解決、怎樣檢測(cè)三個(gè)層次,以自問自答的方式加以通俗易懂的介紹。
其實(shí)此四種技術(shù)開發(fā)人員都可能使用過其中一種或者都使用過,但是有時(shí)我們?cè)陂_發(fā)的過程中并沒有特意的引起重視,在每一個(gè)細(xì)節(jié)的處理時(shí)未注意網(wǎng)站的安全性,結(jié)果可能導(dǎo)致一些安全漏洞。希望通過此文使開發(fā)人員能夠更加注重系統(tǒng)安全性,尤其測(cè)試人員能夠通過監(jiān)督去保證系統(tǒng)的安全性,提高產(chǎn)品質(zhì)量。
1.防止SQL注入技術(shù)
為什么必須防止SQL注入?
相當(dāng)大一部分程序員在編寫代碼的時(shí)候,沒有對(duì)用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。新手最容易忽略的問題就是SQL注入漏洞的問題。用NBSI 2.0對(duì)網(wǎng)上的網(wǎng)站掃描,就能發(fā)現(xiàn)部分網(wǎng)站存在SQL注入漏洞,用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù)。
怎樣防止SQL注入?
比如URL、表單等提交信息時(shí),通過一段防止SQL注入的過濾代碼即可防止出錯(cuò)信息暴露,或者通過轉(zhuǎn)向,當(dāng)系統(tǒng)出錯(cuò)時(shí)轉(zhuǎn)到一個(gè)提示出錯(cuò)的頁面等。同時(shí)服務(wù)器權(quán)限設(shè)置是一個(gè)非常重要的方面,由于涉及到服務(wù)器的配置比較多,本文不介紹。
對(duì)于文本型輸入,如果要進(jìn)行檢查,就得根據(jù)字段本身的性質(zhì)進(jìn)行。例如如果是年齡,就得限定必須是數(shù)字,大小必須限定在一個(gè)范圍之間,比如說18-120之間。對(duì)于用戶名,應(yīng)該建立一個(gè)集合,這個(gè)集合里存放有被允許的字符,或被禁止的字符。
這里特別需要說明的一點(diǎn)是關(guān)于檢查程序的問題。目前,程序?qū)斎霐?shù)據(jù)的檢查是在前臺(tái)通過客戶端腳本完成的,這樣攻擊者很容易就可以繞過檢查程序。建議采用前后臺(tái)結(jié)合的方法,既可以保證效率,有可以提高安全性。
怎樣測(cè)試程序已防止了SQL注入?
如http://www.XXX.com/jiaren.asp?ID=544,此網(wǎng)站用ID來傳送數(shù)值,如果在ID數(shù)值后面加一個(gè)SQL敏感符號(hào),英文單引號(hào)“’”,打開此鏈接,如果出現(xiàn)的是瀏覽器的默認(rèn)出錯(cuò)提示,則需要設(shè)置瀏覽器,使其錯(cuò)誤提示出現(xiàn),方法為打開瀏覽器:選項(xiàng)—Internet選項(xiàng)—高級(jí),在設(shè)置里找到顯示友好的HTTP錯(cuò)誤信息勾掉,確認(rèn)后再刷新,如果此時(shí)出現(xiàn)了數(shù)據(jù)庫出錯(cuò)的提示,如:Microsoft OLE DB Provider for ODBC Drivers 錯(cuò)誤 '80040e21',那么說明本程序并沒有防止SQL注入,反之如果只出現(xiàn)了如:“提醒您, URL有誤,請(qǐng)與管理員聯(lián)系”之類的提示,說明SQL已經(jīng)防止了注入。檢測(cè)表單方法如:如提交腳本,在輸入框中輸入特殊字符如:script_等,在此不再敘述,測(cè)試者可以在網(wǎng)上找到很多這樣的方法。
2.驗(yàn)證碼技術(shù)
為什么必須使用驗(yàn)證碼?
普遍的客戶端交互如留言本、會(huì)員注冊(cè)等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊(cè)機(jī),可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊(cè),頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取您的密碼。而我們使用通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題。
怎樣使用驗(yàn)證碼技術(shù)?
所謂驗(yàn)證碼,就是將一串隨機(jī)產(chǎn)生的數(shù)字或符號(hào),生成一幅圖片,圖片里加上一些干擾象素,由用戶肉眼識(shí)別其中的驗(yàn)證碼信息,輸入表單提交網(wǎng)站驗(yàn)證,驗(yàn)證成功后才能使用某項(xiàng)功能。放在會(huì)員注冊(cè)、留言本等所有客戶端提交信息的頁面,要提交信息,必須要輸入正確的驗(yàn)證碼,從而可以防止不法用戶用軟件頻繁注冊(cè),頻繁發(fā)送不良信息等。
怎樣測(cè)試驗(yàn)證碼是否有效?
必須保證所有客戶端交互部分都輸入驗(yàn)證碼,測(cè)試提交信息時(shí)不輸入驗(yàn)證碼,或者故意輸入錯(cuò)誤的驗(yàn)證碼,如果信息都不能交,說明驗(yàn)證碼有效,同時(shí)在驗(yàn)證碼輸入正確下提交信息,如果能提交,說明驗(yàn)證碼功能已完善。
3.密碼加密技術(shù)
為什么必須使用密碼加密?
沒有經(jīng)過MD5加密的密碼直接顯示在數(shù)據(jù)庫表中,如果被黑客下載數(shù)據(jù),查出數(shù)據(jù)庫中的密碼,或者內(nèi)部開發(fā)人員通過數(shù)據(jù)庫查出用戶的密碼,都對(duì)以后用戶的信息安全造成很大的影響。如果使用MD5加密后的密碼,在數(shù)據(jù)庫中看到的是一連串經(jīng)過加密的字符串,不能看到真正的密碼,這樣能更好地保護(hù)網(wǎng)站的安全。雖然黑客也可以使用暴力破解,但是我們?cè)俳Y(jié)合生成圖片驗(yàn)證碼技術(shù),那暴力破解的難度就將大大增強(qiáng)。
怎樣使用MD5加密技術(shù)?
MD5的全稱是Message-Digest Algorithm 5,當(dāng)用戶登錄的時(shí)候,系統(tǒng)把用戶輸入的密碼計(jì)算成MD5值,然后再去和保存在文件系統(tǒng)中的MD5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。
怎樣測(cè)試密碼已經(jīng)加密?
凡是經(jīng)過加密的密碼,系統(tǒng)功能上多半有找回密碼的功能,這是表面的測(cè)試,測(cè)試人員可以調(diào)用開發(fā)人員的數(shù)據(jù)表,查詢是否經(jīng)過加密,從而保證系統(tǒng)密碼的安全,一般對(duì)具有大量會(huì)員的商業(yè)性網(wǎng)站必須使用。
4.數(shù)據(jù)備份技術(shù)
為什么必須使用數(shù)據(jù)備份?
當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對(duì)安全性。
怎樣使用數(shù)據(jù)備份?
一般人認(rèn)為數(shù)據(jù)備份就只是數(shù)據(jù)庫的備份,其實(shí)還有動(dòng)態(tài)變化的圖片、文件等也需要備份,因?yàn)槲募?、圖片一般我們是不寫入數(shù)據(jù)庫里保存的。
一般我們采用數(shù)據(jù)庫系統(tǒng)自動(dòng)定時(shí)備份、定時(shí)自動(dòng)刪除幾天以前的數(shù)據(jù)等,即可完成數(shù)據(jù)的備份功能。而圖片、文件一般是不能自動(dòng)備份,需要手工操作,所以我們必須要定期手工對(duì)網(wǎng)站的圖片、文件進(jìn)行備份操作。
怎樣測(cè)試數(shù)據(jù)已經(jīng)備份?
對(duì)于已經(jīng)做好的網(wǎng)站,數(shù)據(jù)庫系統(tǒng)都會(huì)自動(dòng)備份到服務(wù)器某個(gè)文件夾下,那么測(cè)試時(shí)我們就需要讓程序開發(fā)人員提供可以下載數(shù)據(jù)備份文件的路徑,即可知道是否已經(jīng)做了自動(dòng)備份功能,而自動(dòng)備份間隔時(shí)間的確定,需要根據(jù)網(wǎng)站的更新頻率來決定。
本文僅介紹四種網(wǎng)站程序的安全的解決方案,以及在此基礎(chǔ)上的檢測(cè)方法,以保證系統(tǒng)產(chǎn)品的安全性,提高產(chǎn)品質(zhì)量,至于具體的詳細(xì)操作,方法有許多種,在此不予介紹。
網(wǎng)站程序的安全還有許多需要介紹的,尤其是服務(wù)器的配置,比如我們必須堅(jiān)持服務(wù)器配置權(quán)限最小化原則等,在此僅從程序上去介紹,此四種網(wǎng)站程序的安全標(biāo)準(zhǔn)適合所有以數(shù)據(jù)庫為基礎(chǔ)的網(wǎng)站程序,無論您使用什么樣的開發(fā)語言,什么樣的開發(fā)平臺(tái),都需要做好以上四個(gè)方面。
近期更新
- [2023-07-26 14:17:28] 為品牌賦能,海外官網(wǎng)品牌數(shù)字化
- [2023-05-06 10:32:26] 青島網(wǎng)站建設(shè)公司,高端網(wǎng)站定制,一站式網(wǎng)站服務(wù)——力圖數(shù)字科技
- [2023-04-27 13:47:54] 高端定制網(wǎng)站建設(shè)——從滿足預(yù)期到走向卓越
- [2023-04-11 09:17:49] H5頁面設(shè)計(jì)開發(fā)——移動(dòng)端傳播利器
- [2022-11-16 10:11:43] windows2012程序在哪
- [2022-04-14 11:01:47] 力圖數(shù)字科技配套網(wǎng)站服務(wù)支持
- [2021-05-18 10:14:11] 青島網(wǎng)站建設(shè)的流程
- [2021-04-29 10:14:38] 企業(yè)定制化官網(wǎng)建設(shè)項(xiàng)目
- [2021-03-05 10:34:45] 移動(dòng)互聯(lián)時(shí)代房地產(chǎn)行業(yè)的微信小程序解決方案
- [2021-01-22 17:29:38] 微信小程序有哪些優(yōu)勢(shì)?為什么要開發(fā)微信小程序?
- [2021-01-08 17:28:04] 網(wǎng)站建設(shè)最容易忽略的人性化設(shè)計(jì)
- [2020-12-16 16:55:32] 建設(shè)一個(gè)常規(guī)的公司網(wǎng)站建設(shè)成本大概是多少?
延伸閱讀
- [2011-10-10 22:20:58] 力圖seo網(wǎng)站建設(shè)六大戒條
- [2013-11-10 17:33:01] CSS3在網(wǎng)頁上的應(yīng)用效果與發(fā)展趨勢(shì)
- [2012-07-18 00:12:13] 簡(jiǎn)潔的網(wǎng)頁設(shè)計(jì)
- [2015-02-09 08:56:17] 即興創(chuàng)作需要有效的設(shè)計(jì)溝通與探討
- [2019-05-14 11:09:21] 青島網(wǎng)站設(shè)計(jì)公司哪家好
- [2011-11-07 11:49:28] google網(wǎng)站地圖提交入口
- [2014-12-15 09:27:04] 如何分析百度怎么抓取網(wǎng)站內(nèi)容
- [2015-01-30 09:15:04] 如何使用百度工具追蹤訪客的來源目的?
- [2016-07-26 11:21:38] 織夢(mèng)tag保存失敗的解決辦法
- [2011-11-10 12:03:09] 青島網(wǎng)站設(shè)計(jì)之網(wǎng)頁設(shè)計(jì)的細(xì)節(jié)處理
- [2012-02-18 23:35:18] 網(wǎng)站設(shè)計(jì)趨勢(shì)-活動(dòng)站細(xì)分設(shè)計(jì)
- [2012-06-18 14:21:28] 青島網(wǎng)站設(shè)計(jì)如何突出網(wǎng)頁核心內(nèi)容
解決方案
輪胎行業(yè)網(wǎng)站設(shè)計(jì)解決方案 機(jī)械行業(yè)網(wǎng)站設(shè)計(jì)解決方案 房地產(chǎn)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 科技企業(yè)網(wǎng)站設(shè)計(jì)解決方案 電子家電網(wǎng)站設(shè)計(jì)解決方案 食品行業(yè)網(wǎng)站設(shè)計(jì)解決方案 集團(tuán)公司網(wǎng)站設(shè)計(jì)解決方案 企事業(yè)單位網(wǎng)站設(shè)計(jì)解決方案 外貿(mào)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 健身運(yùn)動(dòng)網(wǎng)站設(shè)計(jì)解決方案 美容與化妝品網(wǎng)站設(shè)計(jì)解決方案 建筑設(shè)計(jì)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 物流行業(yè)網(wǎng)站設(shè)計(jì)解決方案
TAGS關(guān)鍵字
網(wǎng)站優(yōu)化 交互設(shè)計(jì) 集團(tuán)性網(wǎng)站 網(wǎng)站推廣 青島IT資訊 robots 營銷型網(wǎng)站 蘋果系統(tǒng) 英文網(wǎng)站建設(shè) HTML5 企業(yè)網(wǎng)站 力圖數(shù)字科技 版面布局 良好的導(dǎo)航 青島網(wǎng)站制作 GOOGLE 微網(wǎng)站 官網(wǎng)建設(shè) 插畫 網(wǎng)站SEO 青島網(wǎng)站建設(shè)基礎(chǔ)知識(shí) 微官網(wǎng)帶來的好處 用戶界面 網(wǎng)站交互設(shè)計(jì) 青島SEO 網(wǎng)站策劃 響應(yīng)式設(shè)計(jì) 圖形網(wǎng)格 網(wǎng)站設(shè)計(jì)趨勢(shì) php程序