2011-10-21 38 views
4

在我的服务器上,我创建了一个没有index.php或index.html的文件夹。.htaccess不允许用户查看我没有index.php的文件夹文件

folder1/test.php 
folder1/sample.php 
folder1/hello.php 

当我试图访问该文件夹时,它显示了那里的所有文件。

这是我的问题,它不应该显示我的文件夹中的文件,因为它很容易被黑客攻击。它应该显示一个像403 Forbidden的页面。我不想使用index.php只是将它们重定向到某处。

我听说这涉及.htaccess,这是一个聪明的事情。

请教我如何做到这一点。

+1

为什么“跨服务器”(nginx,apache,IIS,whatnot)和'index.html'文件与''你不想被自动服务的目录不好? – 6502

回答

3

.htaccess文件在你的文档根目录...

Options -Indexes 

http://httpd.apache.org/docs/2.2/mod/core.html#options

+0

你好,你的答案像一个魅力。顺便说一句,我看看你发布的链接。它只是显示-Indexes的解释,但带有短划线的选项(Options - )是什么意思? 谢谢! :) – PinoyStackOverflower

+1

这一切都在那里; * Options指令控制哪些服务器功能在特定目录中可用。* – Phil

1

你指的是被称为“目录浏览”什么是坏事,通常。要防止目录浏览,请在站点的根目录下创建或修改.htaccess文件。

如果创建一个.htaccess文件,把此行的这里面:

Options All -Indexes 

如果修改,寻找

选项全部+指标

并将其更改为Options All -Indexes

如果您没有看到Indexes指令,请从选项1中添加该行。应该这样做。

2

这就是所谓的目录列表。你必须添加一个名为.htaccess文件在文件夹1和下面的行添加到它

​​

防止目录列表列出的任何文件。

+0

如果我这样做,就像在所有目录中放置index.php或index.html,但是你的是.htaccess。将来可能会添加更多的文件夹,而不仅仅是folder1。所以我认为,在根.htaccess中定义它是很好的。 谢谢你的回答! :) – PinoyStackOverflower

1

是的,你可以把:

Options -Indexes 

或者这样:

IndexIngnore * 

但对于htaccess来兑现,你必须把东西simlar到:

AllowOverride All 

在httpd.conf中或类似的服务器配置中

相关问题