无论如何保护您的网站免受外部网站scandir

时间:2016-03-11 20:09:04

标签: php .htaccess security scanning

刚进入一个列出所有隐藏文件的网站。我使用了名为:" 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做到这一点,但是你能告诉我一个阻止扫描多个文件夹的例子吗?

2 个答案:

答案 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设置是从目录到目录继承的,这意味着如果阻止所有在根级别访问,这将应用于它包含的每个文件和目录。