2016-11-03 161 views
2

我想限制對我的根目錄的訪問,以便其他人不能直接在瀏覽器中訪問這些目錄中的文件。我遇到的問題現在是根目錄中的頁面,例如index.php要求提供密碼,而.htaccess位於目錄的根目錄中,而不是域的根目錄。這會阻止索引文件訪問這些目錄中的包含文件。.htaccess拒絕目錄訪問

什麼是簡單的方法來鎖定從瀏覽器訪問這些目錄,同時仍允許根目錄中的文件訪問它們和訪問者能夠訪問根頁面而不需要密碼。我想盡可能地知道他們的網站是可見的,但是如果有人開始在子目錄中窺探並竊取代碼,它會拒絕它們,但允許網頁訪問它們。

我已經厭倦了這個在我一直想限制直接瀏覽器訪問的每個目錄中。

AuthType Basic 
AuthName "Administrator" 
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd 
Require valid-user 

Order Deny,Allow 
Deny From All 
Allow From 127.0.0.1 

回答

1

所有你需要做的是一個額外的空行添加以下行來禁用索引目錄:

Options -Indexes 

查看文檔瞭解更多信息:http://httpd.apache.org/docs/current/mod/core.html#options

+0

我將在給予射門偏出。我以前嘗試過,清除緩存並重新啓動瀏覽器,我仍然可以訪問目錄中的文件。我可能已經完成了+索引,這可能是爲什麼。感謝您的建議。 – Texan78

+0

試過這兩個在目錄和只在根目錄,如果你右鍵單擊索引或根目錄中的任何文件,並單擊一個鏈接,它會顯示在該目錄中的文件在瀏覽器,這是我想要的避免。任何人都可以直接從瀏覽器訪問子目錄,同時仍允許根目錄或其他子目錄中的文件訪問他們可能包含的文件。 – Texan78

+0

更新,這適用於限制對目錄的訪問,但是,如果有人查看文件的來源並點擊鏈接,例如樣式表。它將允許他們查看該目錄中的文件。如果我只是試圖查看目錄結構,那麼它會阻止它們。我需要他們不能訪問目錄中的文件,同時仍然允許將文件包含在某些需要它們的文件中。 – Texan78

1

只要允許腳本匹配php,aspx等。

apache 2.2

AuthType Basic 
AuthName "Administrator" 
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd 
Require valid-user 

#Forbid access to any files except from localhost, because of Order Deny,Allow, Allow gets applied later. 
Order Deny,Allow 
Deny from all 
Allow from 127.0.0.1 

#Allow access to files matching index.php 
<Files index.php> 
    Order Allow,Deny 
    Allow from all 
</Files> 

在Apache 2.4中,規則已更改,正確的語法是使用Require all denied而不是Deny from all

這是Apache 2.4

AuthType Basic 
AuthName "Administrator" 
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd 
Require valid-user 

Require host 127.0.0.1 

#Allow access to files matching index.php 
<Files index.php> 
    Require all granted 
</Files> 
+0

謝謝你的建議,我會給你一個鏡頭。我的網絡主機在Apache 2.2上,這很令人驚訝,因爲它們通常很好地保持最新狀態。只是一個小問題。我是否需要將它放在根目錄或每個目錄中,因爲我現在擁有它,並假設我有多個文件擴展名,我只需添加一個|添加一個新的? – Texan78

+0

我試過把它放在每個目錄中,以及在根目錄中試用它。如果我把它放在目錄中,它仍然不會讓索引訪問這些文件,並要求登錄。如果我把它放在根中,它會鎖定整個站點。我只需要鎖定目錄,但仍然允許我選擇登錄到這些目錄,同時允許根目錄中的文件訪問這些子目錄中的文件。 – Texan78

+0

請檢查現在!如果它仍然不起作用,我會要求你在你的問題中更新你的htaccess內容和目錄結構。 –

1

在.htaccess文件放入以下行

拒絕所有

而這,如果你喜歡把例外。

允許所有

+0

這不起作用,因爲它也限制文件被包含在內。 – Texan78