php下open basedir的配置

2021-08-19 04:44:38 字數 669 閱讀 9722

open_basedir 將php所能開啟的檔案限制在指定的目錄樹中,包括檔案本身。當程式要使用例如fopen()或file_get_contents()開啟乙個檔案時,這個檔案的位置將會被檢查。當檔案在指定的目錄樹之外,程式將拒絕開啟。

在linux系統中,open_basedir主要在php.ini和fastcgi.conf檔案中配置,php.ini中配置如下:open_basedir="指定目錄";fastcgi.conf中配置如下:fastcgi_param php_value "open_basedir=指定目錄";

在windows下,主要在php.ini和apache的http.conf檔案中配置,http.conf中配置如下:

php_admin_value open_basedir "指定目錄"。

用open_basedir指定的限制實際上是字首,不是目錄名。 也就是說 open_basedir=/home/fdipzone 也會允許訪問/home/fdipzone_abc,如果要將訪問限制為目錄,請使用斜線結束路徑名,例如:open_basedir=」/home/fdipzone/」。如果要設定多個目錄,window使用;分隔目錄,linux使用:分隔目錄。 

使用open_basedir可以限制程式可操作的目錄和檔案,提高系統安全性。但會影響i/o效能導致系統執行變慢,因此需要根據具體需求,在安全與效能上做平衡。

php5繞過open basedir讀檔案指令碼

漏洞很久之前 大概5年前 被提出來了,但並不是php 上的問題,所以問題一直存在,直到現在。我一直沒留意,後來yaseng告訴我的,他測試了好像5.5都可以。給出我寫的exp 如我們欲讀取 etc passwd。其實原理就是建立乙個鏈結檔案x,用相對路徑指向a a a a,再建立乙個鏈結檔案exp指...

lnmp中遇到open basedir配置無效問題

在使用lnmp包安裝php時,發現直接修改php.ini的配置是無法生效的,其原因竟然是因為nginx的配置檔案,覆蓋了php.ini的配置。lnmp 1.4上如果不想用防跨目錄還需要將 usr local nginx conf fastcgi.conf 裡面的fastcgi param php a...

open basedir後可能存在的安全隱患

目前php站點的安全配置基本是open basedir safemode,確實很無敵 很安全,即使在許可權沒有很好設定的環境中,這樣配置都是相當安全的,當然了,不考慮某些可以繞過的情況。本文討論兩點開啟open basedir後可能導致的安全隱患 現實遇到的 乙個也許屬於php的乙個小bug,另外乙...