天天看點

PHP網站常見的安全漏洞

  1. 打開php得安全模式  php得安全模式是個非常重要的内嵌的安全機制,能夠控制一些php中得函數,比如system(),同時把很多檔案操作函數進行了權限控制,也不允許對某些關鍵檔案得檔案。
  2. 使用者組安全
  3. 安全模式下執行程式主目錄 如果安全模式打開了,但是确卻是要執行某些程式得時候,可以指定要執行程式得主目錄
  4. 安全模式下包含檔案
  5. 控制php腳本能通路得目錄
  6. 關閉危險函數
  7. 關閉php版本資訊在http頭中得洩露
  8. 關閉注冊全局變量
  9. 打開magic_quotes_gpc來防止sql注入
  10. 錯誤資訊控制
  11. 錯誤日志

常見得PHP網站安全漏洞

對于PHP得漏洞,常見得漏洞有五種,分别是Session檔案漏洞、sql注入漏洞、腳本指令執行漏洞、全局變量漏洞和檔案漏洞。我說一下這五種漏洞都分别是啥吧

第一種session檔案漏洞

Session攻擊是黑客最常用到的攻擊手段之一。當一個使用者通路漏一個網站時,為了免使用者每進入一個頁面都要輸入賬号和密碼,php設定了session和cookie用于友善使用者的使用和通路。

對于session漏洞的防範

從我剛剛說session漏洞的時候可以知道,session攻擊最常見的就是會話劫持,也就是黑客通過各種攻擊手段擷取使用者的session id ,然後利用被攻擊使用者的身份來登陸相應網。為此 這裡可以用到 定期更換Session ID,或者是更換Session名稱,還有就是透明化的session id進行關閉處理,所謂透明化也就是在http請求沒用使用cookies來制定sessionid時,session id使用連接配接來傳遞,關閉透明化sessionid。 或是通過url傳遞隐藏參數

第二種是sql注入漏洞

解決方法有四種  分别是  1.定期更換session id

  1. 更換session名稱
  2. 對透明化session id 進行關閉處理
  3. 通過url傳遞隐藏參數

在進行網站開發的時候,我們由于對于使用者輸入資料缺乏全面判斷或者過濾不嚴導緻伺服器執行一些惡意資訊,比如使用者資訊查詢等。黑客可以根據惡意程式傳回的結果擷取相應的資訊。這就是sql注入漏洞

對于sql注入的漏洞防範

黑客進行sql注入手段很多,而且靈活多變,但是sql注入的共同點就是利用輸入過濾漏洞,是以,要想從根本上防止sql注入,根本解決措施就是加強對請求指令尤其是查詢請求指令的過濾。

解決方法  1.把過濾性語句進行參數化處理,

  1. 在網站開發的時候盡可能少用解釋性程式
  2. 在網站開始時盡可能避免網站出現bug
  3. 使用正規表達式過濾傳入的參數
  4. 字元串過濾
  5. 調用函數檢查是否包含非法字元
  6. Jsp頁面判斷代碼

第三種是腳本執行漏洞

腳本執行漏洞常見的原因是由于我們在開發網站時對使用者送出的URL參數過濾較少引起的,使用者送出的URL可能包含惡意代碼導緻跨站腳本攻擊。腳本執行漏洞在以前的php網站中經常存在,但是随着咱們php版本的更新 這些問題已經減少了和一部分已經不存在了。

對腳本執行漏洞的防範

黑客利用腳本限執行漏洞進行攻擊的手段是多種多樣的,而且是靈活多變的,對此 必須要采用多種防範方式綜合的手段,才能有效防止黑客對腳本執行漏洞進行攻擊。這裡常用的方法有四種

  1. 對可執行檔案的路徑進行預先設定
  2. 對指令參數進行處理
  3. 用系統自帶的函數庫來代替外部指令
  4. 在資料庫的時候盡可能減少使用外部指令

第四種是全局變量漏洞

Php中的去變量會在使用的時候不像其他開發語言那樣需要先生,php中的變量可以不經過聲明就直接使用,使用的時候系統自動建立,而且也不需要對變量類型進行說明,系統會自動根據上下文環境自動确定變量類型。這種方式可以大大減少程式員變成中出錯的機率,使用起來非常的友善。

對全部變量的漏洞防範

以前的版本确實存在這一的問題,但是随着php版本的更新到5.5以後,可以通過對php.ini的設定來實作。

第五種檔案漏洞

檔案漏洞通常是由于網站開發者進行網站設計時對外部提供的資料缺乏充分的過濾導緻黑客利用其中的漏洞在Web程序上執行相應的指令。

對檔案漏洞的防範

對于php檔案漏洞可以通過對伺服器進行設定和配置來達到防範目的,這裡具體的操作可以使用

  1. 把php代碼中的錯誤提示關閉,這樣可以避免黑客通過錯誤提示擷取資料庫資訊和網頁檔案實體路徑
  2. 對open_basedir盡心設定,也就是對目錄外的檔案操作進行禁止處理
  3. 把safe-made設定為開啟狀态

繼續閱讀