浅谈phpopen_basedir安全与性能的取舍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了浅谈phpopen_basedir安全与性能的取舍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1790字,纯文字阅读大概需要3分钟。
内容图文
![浅谈phpopen_basedir安全与性能的取舍](/upload/InfoBanner/zyjiaocheng/150/8f69d0033c3647e4b0d20aacfb23c775.jpg)
起初,我也不太相信这个结果,不过测试数据却说服我承认这个观点。
创建一个简单的脚本:
<?php functionmicrotime_float() { list($usec,$sec) =explode(" ", microtime()); return((float)$usec+ (float)$sec); } $time_start= microtime_float(); is_file('1.html'); //判断当前目录是否有1.html这个文件 $time_end= microtime_float(); $time=$time_end-$time_start; echo"Did is_file in $time seconds\n"; ?>
对于open_basedir的测试结果
0.0006 / 5.0E-5
差距是相当大的,不过聪明的朋友应该注意到,笔者的网站配置了open_basedir,相对与这样的性能损失来说,我宁愿选择牺牲性能,换取安全,您的选择呢?不用猜,您可能和我的选择一致啦~毕竟服务器安全更重要些。
小提示:如何配置open_basedir
当一个脚本试图用例如 fopen() 或者 gzopen() 打开一个文件时,该文件的位置将被检查。当文件在指定的目录树之外时 PHP 将拒绝打开它。所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。
特殊值 . 指明脚本的工作目录将被作为基准目录。但这有些危险,因为脚本的工作目录可以轻易被 chdir() 而改变。
在 httpd.conf 文件中中,open_basedir 可以像其它任何配置选项一样用“php_admin_value open_basedir none”的方法关闭(例如某些虚拟主机中)。
在 Windows 中,用分号分隔目录。在任何其它系统中用冒号分隔目录。作为 Apache 模块时,父目录中的 open_basedir 路径自动被继承。
用 open_basedir 指定的限制实际上是前缀,不是目录名。也就是说“open_basedir = /dir/incl”也会允许访问“/dir/include”和“/dir/incls”,如果它们存在的话。如果要将访问限制在仅为指定的目录,用斜线结束路径名。例如:“open_basedir = /dir/incl/”。
内容总结
以上是互联网集市为您收集整理的浅谈phpopen_basedir安全与性能的取舍全部内容,希望文章能够帮你解决浅谈phpopen_basedir安全与性能的取舍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。