2011-10-21 76 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中或類似的服務器配置中

相關問題