中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

php文件包含目錄配置open_basedir的使用方法與性能介紹-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“php文件包含目錄配置open_basedir的使用方法與性能介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php文件包含目錄配置open_basedir的使用方法與性能介紹”吧!

創(chuàng)新互聯(lián)建站是一家專業(yè)提供麻栗坡企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設html5、小程序制作等業(yè)務。10年已為麻栗坡眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

1.open_basedir介紹

open_basedir 將php所能打開的文件限制在指定的目錄樹中,包括文件本身。當程序要使用例如fopen()或file_get_contents()打開一個文件時,這個文件的位置將會被檢查。當文件在指定的目錄樹之外,程序?qū)⒕芙^打開。

本指令不受安全模式打開或關(guān)閉的影響。

2.open_basedir設置方法

1.在php.ini 加入

open_basedir="指定目錄"

2.在程序中使用

ini_set('open_basedir', '指定目錄');

但不建議使用這種方法

3.在apache的httpd.conf中的Directory配置

php_admin_value open_basedir "指定目錄"
httpd.conf中的VritualHost

php_admin_value open_basedir "指定目錄"

4.nginx fastcgi.conf

fastcgi_param PHP_VALUE "open_basedir=指定目錄"

用open_basedir指定的限制實際上是前綴,不是目錄名。

也就是說 open_basedir=/home/fdipzone 也會允許訪問/home/fdipzone_abc,如果要將訪問限制為目錄,請使用斜線結(jié)束路徑名,例如:open_basedir=”/home/fdipzone/”

如果要設置多個目錄,window使用;分隔目錄,linux使用:分隔目錄。

3.使用open_basedir限制目錄訪問

首先創(chuàng)建一個VirtualHost,

設置open_basedir 為/home/fdipzone/sites/in.fdipzone.com/


<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /home/fdipzone/sites/in.fdipzone.com
  ServerName in.fdipzone.com
  php_admin_value open_basedir "/home/fdipzone/sites/in.fdipzone.com/"
  <Directory "/home/fdipzone/sites/in.fdipzone.com">
    allow from all Options + Indexes
  </Directory>
</VirtualHost>

在上一層目錄 /home/fdipzone/sites/ 中創(chuàng)建一個test.txt文件,在in.fdipzone.com中創(chuàng)建php執(zhí)行以下代碼

<?php
echo file_get_contents('../test.txt');
?>

因為test.txt不在限定的目錄范圍內(nèi),因此php提示警告

Warning: file_get_contents(): open_basedir restriction in effect. File(../test.txt) is not within the allowed path(s): (/home/fdipzone/sites/in.fdipzone.com/) in /home/fdipzone/sites/in.fdipzone.com/index.php on line 3

4.設置open_basedir的性能分析

open_basedir開啟后會影響I/O,因為每個調(diào)用的文件都需要判斷是否在限制目錄內(nèi)。

測試程序,讀取限制目錄內(nèi)同一文件10000次

<?php
// 記錄開始時間
$starttime = getMicrotime();

// 讀取10000次文件
for($i=0; $i<10000; $i++){
  file_get_contents('test.txt');
}

// 記錄結(jié)束時間
$endtime = getMicrotime();

printf("run time %f ms\r\n", ((float)($endtime)-(float)($starttime))*1000);

function getMicrotime(){
  list($usec, $sec) = explode(' ', microtime());
  return (float)$usec + (float)$sec;
}
?>

關(guān)閉open_basedir測試


run time 137.237072 ms

打開open_basedir測試


run time 404.207945 ms

開啟open_basedir后,執(zhí)行時間是關(guān)閉的3倍。

總結(jié):使用open_basedir可以限制程序可操作的目錄和文件,提高系統(tǒng)安全性。但會影響I/O性能導致系統(tǒng)執(zhí)行變慢,因此需要根據(jù)具體需求,在安全與性能上做平衡。

到此,相信大家對“php文件包含目錄配置open_basedir的使用方法與性能介紹”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

分享題目:php文件包含目錄配置open_basedir的使用方法與性能介紹-創(chuàng)新互聯(lián)
地址分享:http://www.rwnh.cn/article28/ccejcp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、小程序開發(fā)用戶體驗、微信小程序、建站公司全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設
仪陇县| 偏关县| 张北县| 普兰店市| 贵定县| 焦作市| 济南市| 八宿县| 罗江县| 阳西县| 泾川县| 彭阳县| 铜梁县| 江油市| 土默特右旗| 衡阳县| 嫩江县| 汪清县| 平湖市| 景德镇市| 贵港市| 长丰县| 威信县| 克东县| 循化| 水城县| 淅川县| 集贤县| 新乡市| 中江县| 土默特左旗| 德安县| 乌兰浩特市| 长寿区| 抚宁县| 五河县| 肇州县| 枞阳县| 辰溪县| 呼伦贝尔市| 连山|