有什么方法可以防止文件被网络看到?

有什么方法可以防止文件被网络看到?

我正在 Windows XAMPP 中测试一个简单的网站。在那里,我使用了一些 PHP 文件,出于安全原因,这些文件不能直接访问。环顾四周后,发现有很多方法可以做到这一点。最简单的方法似乎是定义一个常量,如果未定义则退出。虽然这种方法有效,但我正在寻找一种更强大的方法。

出于这个原因,我决定将我的文件放在用户无法通过浏览器访问的目录中,以使它们无法在网络上访问。

问题:从安全性和性能角度来看,推荐采用什么方法来实现这一目的?

我知道有两种方法:

a) 将我的文件放入".;/path/to/php/pear"
b) 以某种方式修改 htaccess 文件

答案1

常见的做法是使用经典的“public_html”文件夹,如下所示:

/home/my_site_folder/public_html

下面的所有内容/home/my_site_folder都属于您的站点,但只有下面的内容/home/my_site_folder/public_html作为 Apache 的 DocumentRoot 向全世界发布。

因此,基本上,您可以使用该public_html文件夹来放置所有静态内容(图像、css、js)、用户访问的脚本(如index.php)以及.htaccess重写规则(以防您需要)。其他所有内容都放在上层文件夹中/home/my_site_folder。下面的脚本public_html将在那里找到它们所需的一切。

include "../something_needed.php";

这样,您就不必担心您不想让用户访问什么,而只需担心他应该访问什么。

答案2

如果您不需要直接访问文件,最好的方法是不要将其发布在目录根目录中。只发布您真正需要的文件。其他所需文件可以从文件系统导入(PHP 中包含/需要),而不需要放在目录根目录中。

相关内容