一个空的index.php能真正隐藏它的文件夹吗


Can an empty index.php truly hide its folder?

假设我的网站中有一个/images文件夹,我不想被访问者浏览。我通常通过创建一个空的./images/index.php文件来阻止它。它100%安全吗?

我的意思是,如果用户知道文件名,他们可以键入website.com/images/image.jpg,这没关系,但他们看不到文件夹的内容,对吧?

方法一

将.htaccess文件放在所需的文件夹中。编辑此文件并放入

deny from all

这样,它将解决所有直接访问的问题,并且不必在文件夹中放入额外的索引文件。

方法二

如果你想放索引文件,或者不想直接访问任何文件,那么放

<?php
if(!defined('Variable')) {
die('No direct access');
}
?>

在你不想被访问的文件中,放入

<?php
define('Variable', TRUE);
?>

在index.php.

您可以在服务器配置中编写此规则,例如nginx.conf

location ^~ /images {
 deny all;
 }

这意味着所有像www.website.com/images/xxx这样的路径请求都被禁止