綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁(yè)網(wǎng)絡(luò)編程PHP編程 → PHP open_basedir的一些問(wèn)題

PHP open_basedir的一些問(wèn)題

我要評(píng)論 2012/02/01 13:25:29 來(lái)源:綠色資源網(wǎng) 編輯:downcc.com [ ] 評(píng)論:0 點(diǎn)擊:450次

open_basedir: 將用戶可操作的文件限制在某目錄下;
——————————————————————————–
如下是php.ini中的原文說(shuō)明以及默認(rèn)配置:
; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory or
; per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
open_basedir = .
open_basedir可將用戶訪問(wèn)文件的活動(dòng)范圍限制在指定的區(qū)域,通常是其家目錄的路徑,也可用符號(hào)”.”來(lái)代表當(dāng)前目錄。注意用open_basedir指定的限制實(shí)際上是前綴,而不是目錄名。舉例來(lái)說(shuō): 若”open_basedir = /dir/user”, 那么目錄 “/dir/user” 和 “/dir/user1″都是可以訪問(wèn)的。所以如果要將訪問(wèn)限制在僅為指定的目錄,請(qǐng)用斜線結(jié)束路徑名。例如設(shè)置成:“open_basedir = /dir/user/”

open_basedir也可以同時(shí)設(shè)置多個(gè)目錄, 在Windows中用分號(hào)分隔目錄,在任何其它系統(tǒng)中用冒號(hào)分隔目錄。當(dāng)其作用于Apache模塊時(shí),父目錄中的open_basedir路徑自動(dòng)被繼承。

有三種方法可以在Apache中為指定的用戶做獨(dú)立的設(shè)置:

(a) 在Apache的httpd.conf中Directory的相應(yīng)設(shè)置方法:

php_admin_value open_basedir /usr/local/apache/htdocs/
#設(shè)置多個(gè)目錄可以參考如下:
php_admin_value open_basedir /usr/local/apache/htdocs/:/tmp/

(b) 在Apache的httpd.conf中VirtualHost的相應(yīng)設(shè)置方法:
php_admin_value open_basedir /usr/local/apache/htdocs/
#設(shè)置多個(gè)目錄可以參考如下:
php_admin_value open_basedir /var/www/html/:/var/tmp/

(c) 因?yàn)閂irtualHost中設(shè)置了open_basedir之后, 這個(gè)虛擬用戶就不會(huì)再自動(dòng)繼承php.ini中的open_basedir設(shè)置值了,這就難以達(dá)到靈活的配置措施, 所以建議您不要在VirtualHost中設(shè)置此項(xiàng)限制. 例如,可以在php.ini中設(shè)置open_basedir = .:/tmp/, 這個(gè)設(shè)置表示允許訪問(wèn)當(dāng)前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄.

請(qǐng)注意: 若在php.ini所設(shè)置的上傳文件臨時(shí)目錄為/tmp/, 那么設(shè)置open_basedir時(shí)就必須包含/tmp/,否則會(huì)導(dǎo)致上傳失敗. 新版php則會(huì)提示”open_basedir restriction in effect”
警告信息, 但move_uploaded_file()函數(shù)仍然可以成功取出/tmp/目錄下的上傳文件,不知道這是漏洞還是新功能.

關(guān)鍵詞:PHP,open_basedir

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視