2012-01-31 93 views
0

我有一個網站工作正常。我不知道我什麼時候做"Domain-name.com/images"它顯示了我網站上的圖像文件夾中的所有圖像。我不知道爲什麼this.may是這個是由於目錄權限?但我想知道它背後的實際原因 幫助將不勝感激。 注:我正在標記Php和Html,因爲這些人在創建網站時可能會遇到這種情況。更改網站的安全權限

回答

2

這是因爲該文件夾中沒有索引文件,並且Apache(假設爲Apache)設置爲執行目錄索引。

無論是創建一個空的index.html或添加以下任一apache2.conf(或httpd.conf文件),或在htaccess文件:

Options -Indexes 
+0

創建一個空索引文件不會是一個好的解決方案,但第二個解決方案。如果我想重定向用戶到主頁,如果他試圖域名/圖像,那麼我會創建一個索引文件。對? – 2012-01-31 08:40:27

+0

您可以使用重寫規則或索引文件。除非有很多目錄需要這樣做,否則我只會使用索引文件。 – Corbin 2012-01-31 08:41:47

+0

沒問題。 :-) – Corbin 2012-01-31 08:44:33

1

您可以使用.htaccess文件限制的文件夾。

在您的網站根文件夾中創建.htaccess文件,並在其中添加以下代碼。

RewriteEngine on 
RewriteCond $1 !^(css|js|images) 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

使用這個改寫看起來好像過度殺毒。爲什麼你不只是禁用目錄索引? – Corbin 2012-01-31 08:38:26

+1

你已經假設他們的Web服務器是Apache。如果他們使用Microsoft IIS,這將不起作用。 – Jeff 2012-01-31 08:38:49

+0

當海報沒有指定時,95%的時間是Apache。 – Corbin 2012-01-31 08:39:58

0

回答你的問題:是的。如果它是一個Web訪問目錄,這意味着它駐留在典型的webroot文件夾(如public_html,www等)中,並且該文件夾的權限是打開的,那麼任何人都可以看到內容。

1

這是您的網絡服務器的配置問題,它允許您的圖像文件夾的目錄列表。例如。在最常用的服務器軟件Apache上,您可以在httpd.conf中將其關閉,部分中的指令Options -Indexes