李鵬
[摘 要] 隨著網(wǎng)絡(luò)信息技術(shù)的快速發(fā)展,各種網(wǎng)站層出不窮,很大程度上改變了人們的日常生活,但網(wǎng)站設(shè)計(jì)在為人們帶來便利的同時(shí)也存在著很多的安全隱患問題。網(wǎng)站設(shè)計(jì)關(guān)系著國家政治、經(jīng)濟(jì)等各個(gè)方面,且當(dāng)前每個(gè)企業(yè)都具備自己專屬的網(wǎng)站,內(nèi)部的信息交流也主要依靠網(wǎng)絡(luò)完成,PHP網(wǎng)站設(shè)計(jì)中安全性十分重要。
[關(guān)鍵詞] PHP;網(wǎng)站設(shè)計(jì);信息安全;防御措施
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 03. 081
[中圖分類號(hào)] TN915.08 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1673 - 0194(2017)03- 0144- 02
1 PHP簡介
作為一種內(nèi)嵌式語言,PHP技術(shù)在動(dòng)態(tài)網(wǎng)頁方面具備更快的執(zhí)行速度,自誕生至今,PHP技術(shù)已經(jīng)被廣發(fā)應(yīng)用于2 000多萬個(gè)網(wǎng)站中,成為全球最普及的互聯(lián)網(wǎng)開發(fā)語言。近年來,隨著PHP技術(shù)的不斷完善,其已經(jīng)由網(wǎng)絡(luò)開發(fā)語言逐漸發(fā)展成為適合企業(yè)部署的技術(shù)平臺(tái),西門子、IBM等知名公司也開始廣泛使用PHP技術(shù)。最早期的PHP技術(shù)主要具備訪客留言與訪客計(jì)數(shù)等功能,隨著后期的開發(fā)利用,PHP技術(shù)開始加入MySQL支持,進(jìn)而提升了動(dòng)態(tài)網(wǎng)頁開發(fā)的執(zhí)行力。
2 PHP網(wǎng)站設(shè)計(jì)中存在的信息安全問題
實(shí)際PHP編碼設(shè)計(jì)過程中,由于程序員并不具備足夠的安全防御意識(shí),導(dǎo)致設(shè)計(jì)過程中,沒有認(rèn)真檢驗(yàn)輸入信息的可靠性與安全性,使得計(jì)算機(jī)內(nèi)部的操作系統(tǒng)極易被不法分子利用,導(dǎo)致錯(cuò)誤指令會(huì)被當(dāng)做正確指令使用,從而造成了用戶信息的泄露現(xiàn)象,嚴(yán)重侵犯了用戶信息的隱私。
2.1 SQL注入
由廣義層面看來,網(wǎng)站程序設(shè)計(jì)員需要在網(wǎng)站代碼編程過程中合理判斷用戶輸入數(shù)據(jù)的合法性與安全性,從而杜絕網(wǎng)站信息的泄露行為。但如果網(wǎng)站程序員忽視了這一操作,用戶就可以利用提交數(shù)據(jù)庫查詢代碼的方式,并根據(jù)數(shù)據(jù)返回結(jié)果獲取信息,這便是注入了SQL。這種錯(cuò)誤操作很容易導(dǎo)致網(wǎng)站用戶信息的泄露,因此,程序員需要在網(wǎng)站設(shè)計(jì)過程中認(rèn)真判斷分析所輸入數(shù)據(jù)的合法性,從而進(jìn)一步提升網(wǎng)站信息的安全性。
2.2 發(fā)生or 1=1與union語句入侵
注入or 1=1,可以使不法分子在登錄網(wǎng)站時(shí)避開密碼驗(yàn)證過程,從而可以利用任意的使用名便可以隨意進(jìn)入信息系統(tǒng),從而達(dá)到侵入目的,這也是網(wǎng)站設(shè)計(jì)中應(yīng)用最為廣泛的語句注入模式,它主要是程序員在編寫代碼過程中,并未認(rèn)真檢測(cè)所輸信息是否含有非預(yù)期的字符,而是直接將客戶的需求傳達(dá)給計(jì)算機(jī)的函數(shù)系統(tǒng)進(jìn)行識(shí)別。這種注入方法會(huì)使密碼驗(yàn)證失去原有的保護(hù)作用,不法分子可以利用漏洞直接侵入網(wǎng)站系統(tǒng),從而可以容易的獲得所有用戶的數(shù)據(jù)資料。而與or 1=1語句注入侵入不同的是,union語句則可以使程序的默認(rèn)語言出現(xiàn)混亂,計(jì)算機(jī)在執(zhí)行union程序后,會(huì)利用自身的SQL注入語句,從而侵入內(nèi)部程序系統(tǒng)。
2.3 XSS跨站攻擊
作為最常見的網(wǎng)站攻擊模式,XSS的工作原理比較接近SQL的工作原理,不同的是,XSS還要通過專門的腳本才可以注入到HTML標(biāo)簽之中,進(jìn)而可以在網(wǎng)頁輸入框架中輸入違法惡意的信息內(nèi)容。當(dāng)這些惡意信息進(jìn)入到網(wǎng)站的客戶端時(shí),網(wǎng)絡(luò)瀏覽器無法做到識(shí)別排除,而是會(huì)自動(dòng)運(yùn)行這些錯(cuò)誤信息,從而會(huì)影響網(wǎng)頁頁面的正常顯示,進(jìn)而可以在進(jìn)一步注入腳本。同時(shí),還可以使用網(wǎng)頁輸入代碼方式,在利用XSS漏洞的基礎(chǔ)上控制計(jì)算機(jī)的操作系統(tǒng),進(jìn)而為黑客編寫惡意程序提供了方便,破壞了計(jì)算機(jī)原有系統(tǒng)的安全性與穩(wěn)定性。黑客攻擊網(wǎng)頁的主要方式便是在計(jì)算機(jī)瀏覽網(wǎng)站利用XSS自動(dòng)彈出一些窗口,但這些窗口網(wǎng)頁會(huì)帶有黑客設(shè)計(jì)好的感染病毒,從而借此獲取用戶信息。
3 PHP網(wǎng)站設(shè)計(jì)的信息防御措施
3.1 公開防御措施
在保護(hù)網(wǎng)站信息安全的過程中,程序員應(yīng)適當(dāng)公開安全防御措施,使客戶更為清楚的了解具體的防御過程。用戶也不可以直接跳過信息安全檢測(cè)步驟,并要求在進(jìn)入網(wǎng)站系統(tǒng)之前,要輸入相應(yīng)的用戶名與密碼,保證網(wǎng)站運(yùn)行操作的安全性,從而達(dá)到保護(hù)網(wǎng)站信息的目的。
3.2 跟蹤數(shù)據(jù)運(yùn)行
為了進(jìn)一步確保網(wǎng)站設(shè)計(jì)的安全性,程序員還應(yīng)做到實(shí)時(shí)跟蹤用戶的數(shù)據(jù)運(yùn)行過程,通過掌握信息的具體動(dòng)向來約束用戶的使用行為,從而防止發(fā)生信息泄露問題。但用戶信息的實(shí)時(shí)追蹤是一種難度較大的信息監(jiān)測(cè)方法,當(dāng)程序員不夠熟悉其工作原理時(shí),便會(huì)無法理解Web的運(yùn)作原理,程序開發(fā)過程中不可避免的會(huì)出現(xiàn)失誤,進(jìn)而產(chǎn)生安全漏洞,為此,程序員還應(yīng)認(rèn)真學(xué)習(xí)數(shù)據(jù)追蹤的工作原理,全面了解實(shí)時(shí)追蹤的操作過程。
3.3 篩選輸入信息
為了進(jìn)一步確保網(wǎng)站信息的安全性,程序員還應(yīng)對(duì)用戶所輸信息進(jìn)行必要的篩選,使其可以實(shí)現(xiàn)合法化。同時(shí),網(wǎng)站工作人員也應(yīng)認(rèn)真確認(rèn)篩選用戶輸入信息,以充分避免木馬病毒的在未知情況下被誤用。
3.4 防止注入SQL
當(dāng)前,網(wǎng)絡(luò)系統(tǒng)具有多種注入方式,且它們都存在一個(gè)明顯的共同點(diǎn),即缺乏必要的過濾程序,以此實(shí)現(xiàn)非法獲取用戶資料信息的目的。為了充分避免非法語句的注入,程序員需要認(rèn)真篩選、過濾查詢語句。并利用計(jì)算機(jī)內(nèi)的正規(guī)的函數(shù)表達(dá)式進(jìn)行常用語句的匹配,充分提升篩選的準(zhǔn)確率。由此可見,只要使用了過濾函數(shù)便可以很大程度上避免SQL語句注入的侵入,從而充分保護(hù)了網(wǎng)站用戶信息的安全性。
4 結(jié) 語
網(wǎng)絡(luò)信息技術(shù)的發(fā)展加快了信息產(chǎn)業(yè)開發(fā)的步伐,直接關(guān)系著國家政治、經(jīng)濟(jì)、文化、社會(huì)等各方面的發(fā)展,涉及范圍較廣,為人們的生活工作帶來了諸多便利,但同時(shí)也為信息安全帶來了很多隱患,同時(shí),信息安全也會(huì)影響個(gè)人的工作生活,數(shù)據(jù)信息的泄露不但會(huì)影響居民的正常生活,甚至還會(huì)影響國家政治經(jīng)濟(jì)的安全。
主要參考文獻(xiàn)
[1][美]W. Jason Gilmore. PHP與MySQL程序設(shè)計(jì)[M].第4版.朱濤江,等.譯.北京:人民郵電出版社,2011.