刚进入一个列出所有隐藏文件的网站。我使用了名为:" hashtag /"的Facebooks目录。结果显示了来自http://www.facebook.com/hashtag/
的一大堆文件以下网址是:https://pentest-tools.com/website-vulnerability-scanning/discover-hidden-directories-and-files
所以我的主要问题是,有没有办法保护您的网站不被其他网站扫描显示秘密文件,如: tokens.php,sessions.php,templates /,models / configs / ...等???
这让我现在非常担心,只是说我们正在制作一个包含重要文件和结构的网站,如果有人想看看我们在该特定文件夹中持有什么,有什么办法可以防止这种情况发生。从该网站或执行此操作的任何其他网站显示?
我知道你可以通过.htaccess做到这一点,但是你能告诉我一个阻止扫描多个文件夹的例子吗?
答案 0 :(得分:5)
主要选项是Indexes
您可以使用
.htaccess
中关闭它们
Options -Indexes
第二个选项是阻止Deny
Order Deny,Allow
Deny from All
假设您有一个名为inc
的文件夹,其中包含一些您不希望通过网址访问的文件,但您希望其他PHP脚本能够包含它们,您可以将此规则放入{ {1}}文件夹中的{1}}文件。
以下是指向.htaccess
规则https://github.com/phanan/htaccess
答案 1 :(得分:1)
一种常见的方法是将不直接访问的文件放在Web根目录下,因此无法从Web访问它们。
例如,如果您的网络源位于var/www/html
,请将源代码放在html
之外,并且无法从互联网加载。但是,这需要您在框架中使用某种加载/需要文件,但这种情况很常见。请参阅PSR-4: Autoloading。
您关联的工具没有"魔法"查找文件的方式,因为使用Apache阻止/隐藏文件是绝对的,请参阅this回答更多.htaccess详细信息。该工具只需尝试一系列单词和常用文件名,并检查有效的200响应。除非您将文件移到Web根目录之外,否则无法防范。
正如您所说,这可能会拒绝使用.htaccess访问目录和文件,并且还会关闭文件列表,但是您应该注意.htaccess设置是从目录到目录继承的,这意味着如果阻止所有在根级别访问,这将应用于它包含的每个文件和目录。