PHP配置open_basedir让各虚拟站点独立运行
2023-06-13 09:14:14 时间
当时觉得这跟IIS相比,实在太差了,因为在IIS里,可以在安全性里设置一个站点甚至一个目录访问时使用的匿名账号,只要各个站点使用的账号不一样,站点间的安全就不会互相影响。这几天才发现,原来当时的想法是错的,在Apache下,也可以配置PHP来实现各站点间的相互独立运行,虽然不能详细控制以某个用户运行某个站点,但至少不会再出现整个服务器被拿下的局面。
通过配置PHP的open_basedir即可以实现该控制,这个配置在IIS下也有用,但这里只讲Apache下的配置。
open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也
可用符号"."来代表当前目录。open_basedir也可以同时设置多个目录,在Windows中用分号分隔目录,在任何其它系统中用
冒号分隔目录。当其作用于Apache模块时,父目录中的open_basedir路径自动被继承。以下以Linux系统下的配置为例
方法一:在php.ini里配置
open_basedir=.:/tmp/
方法二:在Apache配置的VirtualHost里设置
php_admin_valueopen_basedir.:/tmp/
方法三:在Apache配置的Direcotry里设置
php_admin_valueopen_basedir.:/tmp/
关于三个配置方法的解释:
a、方法二的优先级高于方法一,也就是说方法二会覆盖方法一;方法三的优先级高于方法二,也就是说方法三会覆盖方法二;
b、配置目录里加了“/tmp/”是因为php默认的临时文件(如上传的文件、session等)会放在该目录,所以一般需要添加该目录,否则部分功能将无法使用;
c、配置目录里加了“.”是指运行php文件的当前目录,这样做可以避免每个站点一个一个设置;
d、如果站点还使用了站点目录外的文件,需要单独在对应VirtualHost设置该目录;
设置完成后,记得找个PHP网马(如:phpspy)来玩一玩,测试一下有没有问题,不出意外,权限应该是控制得相当好的。
大家还有什么PHP安全配置的经验,欢迎分享交流。
通过配置PHP的open_basedir即可以实现该控制,这个配置在IIS下也有用,但这里只讲Apache下的配置。
open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也
可用符号"."来代表当前目录。open_basedir也可以同时设置多个目录,在Windows中用分号分隔目录,在任何其它系统中用
冒号分隔目录。当其作用于Apache模块时,父目录中的open_basedir路径自动被继承。以下以Linux系统下的配置为例
方法一:在php.ini里配置
open_basedir=.:/tmp/
方法二:在Apache配置的VirtualHost里设置
php_admin_valueopen_basedir.:/tmp/
方法三:在Apache配置的Direcotry里设置
php_admin_valueopen_basedir.:/tmp/
关于三个配置方法的解释:
a、方法二的优先级高于方法一,也就是说方法二会覆盖方法一;方法三的优先级高于方法二,也就是说方法三会覆盖方法二;
b、配置目录里加了“/tmp/”是因为php默认的临时文件(如上传的文件、session等)会放在该目录,所以一般需要添加该目录,否则部分功能将无法使用;
c、配置目录里加了“.”是指运行php文件的当前目录,这样做可以避免每个站点一个一个设置;
d、如果站点还使用了站点目录外的文件,需要单独在对应VirtualHost设置该目录;
设置完成后,记得找个PHP网马(如:phpspy)来玩一玩,测试一下有没有问题,不出意外,权限应该是控制得相当好的。
大家还有什么PHP安全配置的经验,欢迎分享交流。
相关文章
- Apache配置+php配置
- vscode运行php配置_捷达vs5顶配啥配置
- php 中输出控制器名称,Thinkphp5.0&&5.1怎么获取模块名控制器名方法名(权限配置中)
- [PHP] apache在worker模式配置fastcgi使用php-fpm详解编程语言
- Redis实战:PHP开发者必备技能(redis实战php)
- 环境管理 Linux下如何实现多版本PHP环境管理(linux多php版本)
- 开发环境配置Linux实现PHP开发环境(linux配置php)
- 解决PHP连接MySQL乱码问题(php连接mysql乱码)
- PHP如何获取MySQL版本?(php获取mysql版本)
- PHP如何准确获取MySQL数据库中的错误信息?(php获取mysql错误)
- MacOS上配置PHP环境的指南(Macos配置php)
- MongoDB整合PHP:快速配置你的开发环境(mongodb配置php)
- 轻松完成PHP连接MSSQL环境的配置(php连接mssql配置)
- 使用PHP连接MSSQL数据库运行管道!(php mssql 管道)
- 在Win2003下配置Apache+php+mysql
- php数据结构与算法(PHP描述)快速排序quicksort
- php中3种方法统计字符串中每种字符的个数并排序
- 深入PHP运行环境配置的详解