男人摸女人的胸视频,91精品国产91久久久久久最新,黄色视频性爱免费看,黄瓜视频在线观看,国产小视频国产精品,成人福利国产一区二区,国产高清精品自拍91亚洲,国产91一区二区

加急見刊

PHP網站設計中信息安全防御的分析

羅有明

摘要:網絡具有開放性和共享性的特點,在給人們的生活帶來便利的同時,也對網絡用戶的信息安全帶來了威脅。本文研究了在PHP網站開發過程中信息安全防御技術,列舉在PHP網站開發時容易出現的安全漏洞以及這些漏洞帶來的危害,同時還介紹了黑客常用的攻擊手段并給出相應的解決方案。

關鍵詞:安全防御;PHP;網站

0引言

當前網絡與信息安全產業已成為對各國的國家安全、政治穩定、經濟發展、社會生活、健康文化等方方面面具有生存性和保障性支撐作用的關鍵產業。網絡與信息安全可能會影響個人的工作、生活,甚至會影響國家經濟發展、社會穩定、國防安全。因此,網絡與信息安全產業在整個產業布局乃至國家戰略格局中具有舉足輕重的地位和作用。本文對PHP網站設計中信息安全防御的研究具有重要的意義。

1PHP編碼過程中的安全問題及其防范

服務器和PHP的運行環境配置好后,并不意味著網絡應用就安全了,程序員的安全意識也起著決定性的作用。如果程序員的安全意識不高,對用戶的所有輸入都沒有進行安全驗證,那么,所有有害的指令都將作為合法指令被執行。

1.1SQL注入的防范

程序員在編寫代碼的時候,沒有對用戶輸入數據的合法性進行判斷,使得用戶可以提交一段數據庫查詢代碼,根據程序返回的結果,獲得某些他想得知的數據,這就是所謂的SQL Injection,即SQL注入。

1)經典的'or 1=1' 注入

‘or 1=1’注入是非常經典的注入語句,一般用在登錄系統時繞過密碼驗證,以任意用戶名登入。其原理是利用程序員在編寫驗證程序的時候沒有驗證用戶的輸入是否含有非預期的字符串,直接傳遞給mysql_query()函數執行,or 1=1使得無論密碼是否匹配保證驗證語句為真,達到繞過密碼驗證的目的

2)利用union語句的注入

Union 語句是利用其特性,使程序默認的語句出錯,讓程序執行union之后自己構造的SQL語句,達到注入的目的。

3)防SQL注入的通用解決方案

注入的手段是多種多樣,十分靈活的,但有一個共同點,都是利用沒有對輸入進行過濾。防止注入的方法也就是對傳遞給查詢語句的參數進行過濾。

該函數是通過正則表達式匹配常用的注入語句,并對其進行過濾。采用該過濾函數后,使用上述方法再次進行注入時,全部失效。

1.2XSS跨站攻擊

XSS 全稱為Cross Site Scripting,由于 CSS 已經用作樣式表的簡稱,故稱為XSS。 XSS是一種常見的網站攻擊的手段。其原理與SQL注入比較類似,只不過利用的HTML標簽中注入JavaScript腳本,通過在網頁的輸入框輸入一些惡意的內容,通常是 JavaScript 腳本片段達到注入的目的,這些惡意輸入在提交之后并重新讀回到客戶端時,瀏覽器會解釋執行這些惡意的腳本內容,從而影響網頁的正常顯示。

1)XSS探測

在判斷一個網站是否存在XSS漏洞是,經常用到下面這條語句進行探測:

在輸入框中輸入該語句找到該語句執行的地方看是否有彈窗,如果有,則表示這個網站存在XSS漏洞,這里以留言本為例。

登入留言頁面,在輸入框內輸入檢測代碼,刷新頁面,發現瀏覽器彈出窗口,表明該留言板存在著XSS漏洞。

2)利用XSS重定向

一旦確定網站存在XSS漏洞,那么攻擊手段就有很多種,將當前網頁重定向到其他網頁是一種比較直接的方法,黑客可以利用這種手法達到刷網站流量,或者在轉向的網站上掛上木馬,使訪問者電腦感染木馬病毒的目的,攻擊代碼如下:

將http://evil.org替換成想要轉向的網址就達到注入的目的了。

3)利用XSS彈出其他網頁

平時在瀏覽有些網站的時候經常會出現彈出廣告的情況,黑客也會可以利用XSS攻擊使正在瀏覽被攻擊頁面的用戶瀏覽器彈出窗口,這樣又可以利用彈窗來達到掛馬的目的了。攻擊代碼如下:

該段代碼是讓瀏覽器彈出一個窗口并打開百度首頁,把百度的網址換成掛馬的網頁,黑客的攻擊目的就達到了。

4)利用<iframe>標簽進行XSS攻擊

<iframe>是一個非常常用的HTML標簽,他的功能是在網頁中嵌入其他網頁,可 以通過height屬性和src指定嵌入頁面的高度和地址。黑客可以將高度設為0,將頁面地址設置為被掛馬的網頁,或者利用cookie的同源特性竊取cookie。

攻擊代碼如下:

2安全防御常用方法

2.1平衡風險與可用性

盡量使安全措施對用戶透明,使他們感受不到它的存在。如果實在不可能,就盡量采用用戶比較常見和熟悉的方式來進行。例如,在用戶訪問受控信息或服務前讓他們輸入用戶名和密碼就是一種比較好的方式。

2.2跟蹤數據

作為一個有安全意識的開發者,最重要的一件事就是隨時跟蹤數據。不只是要知道它是什么和它在哪里,還要知道它從哪里來,要到哪里去。有時候要做到這些是困難的,特別是當你對WEB的運做原理沒有深入理解時。這也就是為什么盡管有些開發者在其它開發環境中很有經驗,但他對WEB不是很有經驗時,經常會犯錯并制造安全漏洞。

2.3過濾輸入

過濾是Web應用安全的基礎。它是你驗證數據合法性的過程。通過在輸入時確認對所有的數據進行過濾,你可以避免被污染(未過濾)數據在你的程序中被誤信及誤用。大多數流行的PHP應用的漏洞最終都是因為沒有對輸入進行恰當過濾造成的。

3小結

本文主要研究了在PHP網站代碼編寫過程中應該注意的一些與安全相關的要點以及一些應該遵守的方法,掌握了這些方法,對PHP網站安全有很大的好處,希望對同行能有一定的參考作用。

[1] Stuttard.D,Pinto.M,石華耀譯.黑客攻防技術寶典[M].北京: 人民郵電出版社,2009.

[2] 周緋菲,何文.計算機網絡安全技術實驗教程.北京: 郵電大學出版社,2009.

[3] Stuart McClure,Joel Scambray,George Kurtz,鐘向群譯.黑客大曝光:網絡安全機密與解決方案[M].北京: 清華大學出版社, 2010.

[4] 溫施耐德.PHP和MySQL Web應用開發核心技術.北京: 機械工業出版社, 2006.

[5] Chris Shiflett. Essential PHP Security. O'Reilly Media, 2005.

下載