如何防止包含远程服务器文件或共享服务器文件


How to prevent including remote server file or shared server file?

我正在我的系统上使用Xampp服务器,通过在我的系统的Xampp server上旋转一些PHP.INI设置,我刚刚发现我可以从我的远程托管站点中包含我的PHP文件。尽管我无法访问远程文件上的变量,但我仍然害怕专业黑客可以访问这些变量。我很害怕,因为url显示了文件的路径。我知道我可以使用.htaccess隐藏文件的扩展名,但仍然有人可以猜测这些文件类型,因为只有少数类型的服务器端脚本主要用于Web开发人员。请让我知道是否有任何方法可以防止将我的服务器文件包括在远程服务器上或运行在我的网站所在的同一服务器上的服务器上,或者没有什么可担心的。

php.ini中禁用类似的url include

allow_url_include = Off
allow_url_include = On

此选项的作用是允许编写如下代码:

include 'http://example.com/foo.php';

它确实允许其他人包含您服务器上的文件
你的恐惧是完全没有根据的。

当有人通过URL访问您的服务器上的任何.php文件时,Apache将始终执行这些文件。没有人能像那样看到你的源代码。(假设Apache没有崩溃或严重错误配置。)

PS:allow_url_include无论如何都应该关闭。这是个坏主意。