php文件包含目录配置open_basedir的使用与性能详解
php  /  管理员 发布于 7年前   309
1.open_basedir介绍 open_basedir 将php所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。 本指令不受安全模式打开或关闭的影响。 2.open_basedir设置方法 1.在php.ini 加入 open_basedir="指定目录" 2.在程序中使用 ini_set('open_basedir', '指定目录'); 但不建议使用这种方法 3.在apache的httpd.conf中的Directory配置 php_admin_value open_basedir "指定目录" php_admin_value open_basedir "指定目录" 4.nginx fastcgi.conf fastcgi_param PHP_VALUE "open_basedir=指定目录" 用open_basedir指定的限制实际上是前缀,不是目录名。 也就是说 open_basedir=/home/fdipzone 也会允许访问/home/fdipzone_abc,如果要将访问限制为目录,请使用斜线结束路径名,例如:open_basedir=”/home/fdipzone/” 如果要设置多个目录,window使用;分隔目录,linux使用:分隔目录。 3.使用open_basedir限制目录访问 首先创建一个VirtualHost, 设置open_basedir 为/home/fdipzone/sites/in.fdipzone.com/ 在上一层目录 /home/fdipzone/sites/ 中创建一个test.txt文件,在in.fdipzone.com中创建php执行以下代码 因为test.txt不在限定的目录范围内,因此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,因为每个调用的文件都需要判断是否在限制目录内。 测试程序,读取限制目录内同一文件10000次 关闭open_basedir测试 run time 137.237072 ms 打开open_basedir测试 run time 404.207945 ms 开启open_basedir后,执行时间是关闭的3倍。 总结:使用open_basedir可以限制程序可操作的目录和文件,提高系统安全性。但会影响I/O性能导致系统执行变慢,因此需要根据具体需求,在安全与性能上做平衡。 以上这篇php文件包含目录配置open_basedir的使用与性能详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
httpd.conf中的VritualHost您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号