2013-04-11 71 views
0

我正在爲localhost建立一個網站。我的文件在www文件夾中。 直接在www中,我有index.php和更多的php頁面。我的文件(PHP,圖片,腳本)是否免受下載?

我也有一些文件夾像圖片/其中包含用戶提交的圖片; CSS /所有的CSS文件; js /寬度所有的js文件和包含/與一些PHP文件

我的問題是,當我在瀏覽器本地主機/圖片輸入,我看到我所有的圖片列表。 localhost/css,localhsot/js或localhost/includes也是如此。你有我所有文件的列表。這意味着機器人可以很容易地下載我的所有文件,除了PHP文件(出於某種原因,這些文件沒有正確下載:PHP代碼無法訪問)。

You can see all my pictures by entering localhost/pictures

有沒有一種方法,以防止訪問爲用戶主目錄?我想寫一個index.php文件內www /圖片重定向到www的index.php。對於網站文件夾的結構/組織而言,我對最佳實踐一無所知。

感謝

+1

您可以隨時在您的'.htaccess'中關閉目錄列表?同樣,使用'robots.txt'來防止機器人訪問。 – BenM 2013-04-11 12:51:41

+0

@BenM說過的話。此外,如果您禁止訪問腳本和圖像(如文件權限),那麼訪問您網頁的用戶將無法查看它們。 – 2013-04-11 12:53:06

+0

你需要這些圖片嗎?他們在你的網站上使用過嗎?請記住,您希望通過瀏覽器向用戶展示的所有內容都必須可供瀏覽器訪問。如果您不想讓用戶瀏覽文件,則可以禁用目錄列表。但是如果你需要他們的地方,你不能拒絕他們的訪問。 – 2013-04-11 12:56:57

回答

2

溶膠1:

你可以把該文件夾中.htaccess文件只包含:

deny from all 

這樣,你不能直接從打開任何文件文件夾,但你可以包含他們在PHP中沒有任何問題。

溶膠2:

# disable directory browsing 
Options All -Indexes 
+0

然而,如果他想要在他的網站上顯示任何圖像,這將有效地迫使他編寫一個PHP腳本,從該文件夾讀取圖像文件。 – 2013-04-11 12:55:33

+0

溶膠1不是選項,因爲我在我的代碼中使用圖像。我測試了這個內部/ css和js /目錄,我沒有更多的風格。 Sol 2工作正常,但顯示一條消息「Forbiden」。有沒有辦法重定向到我自己的「禁止頁面」。 – 2013-04-11 13:14:07

2

您可以強制阿帕奇當有人試圖通過將.htaccess文件中所有要阻止瀏覽的目錄瀏覽您的索引,以顯示一個禁止消息。

.htaccess中,添加以下內容:

# disable directory browsing 
Options All -Indexes 

同樣,你可以創建一個robots.txt文件Web根內,並添加以下內容:

User-agent: * 
Disallow: /pictures/ 
Disallow: /css/ 
Disallow: /js/ 
Disallow: /includes/ 

你當然應該知道阻止機器人訪問您的圖片的SEO影響。

1

添加下面的代碼到你的.htaccess到您的主項目文件夾

# disable directory browsing 
Options All -Indexes 
0

放置用戶特定數據的文件夾在你的web目錄之外。