我可以将PHP open_basedir应用于套接字路径吗?

时间:2015-01-07 17:14:04

标签: php open-basedir unix-socket

PHP手册指出:

  

open_basedir(string)

     

将PHP可以访问的文件限制到指定的目录树,包括文件本身。此指令不受安全模式是打开还是关闭的影响。

     

当脚本尝试访问文件系统时,例如使用include或fopen(),将检查文件的位置。当文件在指定的目录树之外时,PHP将拒绝访问它。

另外,再进一步......

  

open_basedir不仅可以影响文件系统功能;例如,如果MySQL配置为使用mysqlnd驱动程序,则LOAD DATA INFILE将受open_basedir的影响。 PHP的许多扩展功能都以这种方式使用open_basedir。

然而,似乎这种限制没有达到套接字操作。在我的服务器上,即使我已将open_basedir设置为/home:/tmp,我仍然可以通过/run功能访问socket_connect下的套接字文件(请注意,我没有'}已将/var/run/run)移至/home/tmp下的某个扭曲位置。

是否有办法扩展open_basedir的限制以包含套接字文件*路径,因此无法在/home/tmp之外打开套接字文件?

*我知道套接字文件不是真的"打开",而是"绑定到"通过socket_connect函数和bind系统调用。但是,由于open_basedir似乎适用于非文件系统功能......我猜测可能有办法。

0 个答案:

没有答案