我的问题是我无法在远程服务器上包含文件.
echo "Including\n";
require_once("http://xx.xxx.xxx.xx:8080/path/to/myfile.inc");
echo "Done..\n";
?>
该脚本在require_once函数处失败.
我正在使用以下脚本运行脚本:php -d allow_url_include =在script.php上
但是要确保我在php.ini中将allow_url_include和allow_url_fopen设置为On
如果我将http://xx.xxx.xxx.xx:8080/path/to/myfile.inc复制到浏览器,则可以使用该文件.
我也尝试过包括其他远程文件(在标准端口80上),但还是没有运气
我真正感到困惑的是,所有内容都可以在我办公室的本地计算机(mac,ubuntu)上运行,而不是在服务器上运行.我已经在2个不同的服务器(虚拟服务器和专用服务器)上对其进行了测试.
我可以使用fopen()获取文件.
解决方法:
这可以通过在php.ini上将allow_url_include设置为on来完成.
但是,正如评论中提到的那样,
巨大
应用程序上的安全漏洞.
标签:require,linux,php,remote-file-inclusion
来源: https://codeday.me/bug/20191101/1985060.html