国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php open_basedir安全與使用詳解

2024-05-04 21:48:15
字體:
來源:轉載
供稿:網友

open_basedir的作用就是指定目錄位置了,意思是將PHP 所能打開的文件限制在指定的目錄樹,包括文件本身了,并且不受是不是安全模式的影響.

如下是php.ini中的原文說明以及默認配置:

  1. ; open_basedir, if set, limits all file operations to the defined directory  
  2. ; and below. This directive makes most sense if used in a per-directory or  
  3. ; per-virtualhost web server configuration file. This directive is  
  4. ; *NOT* affected by whether Safe Mode is turned On or Off.  
  5. open_basedir = .  

open_basedir可將用戶訪問文件的活動范圍限制在指定的區域,通常是其家目錄的路徑,也 可用符號"."來代表當前目錄,注意用open_basedir指定的限制實際上是前綴,而不是目錄名.

舉例來說: 若"open_basedir = /dir/user", 那么目錄 "/dir/user" 和 "/dir/user1"都是 可以訪問的。所以如果要將訪問限制在僅為指定的目錄,請用斜線結束路徑名。例如設置成: "open_basedir = /dir/user/"

open_basedir也可以同時設置多個目錄,在Windows中用分號分隔目錄,在任何其它系統中用冒號分隔目錄,當其作用于Apache模塊時,父目錄中的open_basedir路徑自動被繼承.

有三種方法可以在Apache中為指定的用戶做獨立的設置:

(a) 在Apache的httpd.conf中Directory的相應設置方法:

php_admin_value open_basedir /usr/local/apache/htdocs/ 

#設置多個目錄可以參考如下: 

php_admin_value open_basedir /usr/local/apache/htdocs/:/tmp/

(b) 在Apache的httpd.conf中VirtualHost的相應設置方法:

php_admin_value open_basedir /usr/local/apache/htdocs/ 

#設置多個目錄可以參考如下: 

php_admin_value open_basedir /var/www/html/:/var/tmp/

(c) 因為VirtualHost中設置了open_basedir之后, 這個虛擬用戶就不會再自動繼承php.ini 中的open_basedir設置值了,這就難以達到靈活的配置措施, 所以建議您不要在VirtualHost 中設置此項限制. 例如,可以在php.ini中設置open_basedir = .:/tmp/, 這個設置表示允許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄.

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邛崃市| 雷州市| 临汾市| 二连浩特市| 富阳市| 龙江县| 绥滨县| 离岛区| 十堰市| 汝州市| 泾阳县| 定州市| 凤山市| 哈巴河县| 香港 | 蕉岭县| 德安县| 永顺县| 普宁市| 连平县| 东乌珠穆沁旗| 明水县| 米林县| 水城县| 肇东市| 龙州县| 汉阴县| 景谷| 育儿| 黔西县| 桂东县| 宁陵县| 扶绥县| 东方市| 巴彦淖尔市| 忻州市| 泰宁县| 高邮市| 溆浦县| 万安县| 习水县|