亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

對php的配置加強安全

添加時間:2010-11-7  添加: admin 
  前面象Shaun Clowes和rfp等都比較詳細的介紹了php、cgi程序在編程過程中遇到的問題,以及如何通 過應用程序漏洞突破系統,這篇文章我們來通過對php的一些服務器端特性來進行配置加強php的安全。寫 cgi腳本的時候我們的確一定注意各種安全問題,對用戶輸入進行嚴格的過濾,但是常在岸邊走哪有不濕鞋 ,吃燒餅哪有不掉芝麻,人有失蹄馬有失手,連著名的phpnuke、phpMyAdmin等程序都出現過很嚴重的 問題,更何況象我等小混混寫的腳本。所以現在我們假設php腳本已經出現嚴重問題,比如象前一陣子 phpnuke的可以上傳php腳本的大問題了,我們如何通過對服務器的配置使腳本出現如此問題也不能突破 系統。

  1、編譯的時候注意補上已知的漏洞

  從4.0.5開始,php的mail函數加入了第五個參數,但它沒有好好過濾,使得php應用程序能突破 safe_mode的限制而去執行命令。所以使用4.0.5和4.0.6的時候在編譯前我們需要修改php源碼包里 ext/standard/mail.c文件,禁止mail函數的第五參數或過濾shell字符。在mail.c文件的第152 行,也就是下面這行:

  if (extra_cmd != NULL) { 后面加上extra_cmd=NULL;或extra_cmd = php_escape_shell_cmd(extra_cmd);然后編譯php 那么我們就修補了這個漏洞。

  2、修改php.ini配置文件 以php發行版的php.ini-dist為藍本進行修改。

  1)Error handling and logging

  在Error handling and logging部分可以做一些設定。先找到:

  display_errors = On

  php缺省是打開錯誤信息顯示的,我們把它改為:

  display_errors = Off

  關閉錯誤顯示后,php函數執行錯誤的信息將不會再顯示給用戶,這樣能在一定程度上防止攻擊者從 錯誤信息得知腳本的物理位置,以及一些其它有用的信息,起碼給攻擊者的黑箱檢測造成一定的障礙 。這些錯誤信息可能對我們自己有用,可以讓它寫到指定文件中去,那么修改以下:

  log_errors = Off

  改為:

  log_errors = On

  以及指定文件,找到下面這行:

  ;error_log = filename

  去掉前面的;注釋,把filename改為指定文件,如/usr/local/apache/logs/php_error.log error_log = /usr/local/apache/logs/php_error.log

  這樣所有的錯誤都會寫到php_error.log文件里。

  2)Safe Mode

  php的safe_mode功能對很多函數進行了限制或禁用了,能在很大程度解決php的安全問題。在 Safe Mode部分找到:

  safe_mode = Off

  改為:

  safe_mode = On

  這樣就打開了safe_mode功能。象一些能執行系統命令的函數shell_exec()和``被禁止,其它的一 些執行函數如:exec(), system(), passthru(), popen()將被限制只能執行 safe_mode_exec_dir指定目錄下的程序。如果你實在是要執行一些命令或程序,找到以下:

  safe_mode_exec_dir =

指定要執行的程序的路徑,如:

  safe_mode_exec_dir = /usr/local/php/exec

  然后把要用的程序拷到/usr/local/php/exec目錄下,這樣,象上面的被限制的函數還能執行該目錄 里的程序。

  關于安全模式下受限函數的詳細信息請查看php主站的說明:

  http://www.php.net/manual/en/features.safe-mode.php

  3)disable_functions

  如果你對一些函數的危害性不太清楚,而且也沒有使用,索性把這些函數禁止了。找到下面這行:

  disable_functions = 在”=“后面加上要禁止的函數,多個函數用”,“隔開。

  3、修改httpd.conf

  如果你只允許你的php腳本程序在web目錄里操作,還可以修改httpd.conf文件限制php的操作路徑。比 如你的web目錄是/usr/local/apache/htdocs,那么在httpd.conf里加上這么幾行:

  php_admin_value open_basedir /usr/local/apache/htdocs

  這樣,如果腳本要讀取/usr/local/apache/htdocs以外的文件將不會被允許,如果錯誤顯示打開的話 會提示這樣的錯誤:

  Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/apache/htdocs/open.php on line 4 等等。

  4、對php代碼進行編譯

  Zend對php的貢獻很大,php4的引擎就是用Zend的,而且它還開發了ZendOptimizer和ZendEncode 等許多php的加強組件。優化器ZendOptimizer只需在http://www.zend.com注冊就可以免費得到, 下面幾個是用于4.0.5和4.0.6的ZendOptimizer,文件名分別對于各自的系統:

  ZendOptimizer-1.1.0-PHP_4.0.5-FreeBSD4.0-i386.tar.gz

  ZendOptimizer-1.1.0-PHP_4.0.5-Linux_glibc21-i386.tar.gz

  ZendOptimizer-1.1.0-PHP_4.0.5-Solaris-sparc.ta
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站