簡體   English   中英

PHP / Apache拒絕文件夾訪問用戶但不訪問腳本

[英]PHP/Apache Deny folder access to user but not to script

所以我有這個php web應用程序,我的一個文件夾包含一些可以下載的文件。

我有一個修改標題的下載腳本,以便始終提供下載鏈接。 (而不是顯示圖片,例如,當您點擊鏈接時,會彈出一個下載框)

現在,如果您輸入以下網址: http//www.mywebsite.com/content/您將獲得所有可下載文件的列表,當然,您只需下載所有文件,無需通過網站界面。

就個人而言,我不認為這是一個問題,因為我經常使用downthemall或其他下載工具,這種類型的訪問是一個很好的節省時間....

但當然我的公司不這么認為:-p他們希望人們使用界面來查看廣告......

他們是一種方式,也許是受保護的.htaccess,讓文件夾訪問我的下載腳本,但拒絕訪問用戶......?

我希望我有意義,你知道我的意思:)

所有幫助/評論贊賞!

將文件夾移出Web服務器的根目錄,以便apache根本不會從該目錄服務文件。 如果apache / http用戶可以讀取該文件夾,您仍然可以包含該文件夾中的文件,但您的站點用戶將無法從任何URL訪問該文件。

您可以創建.htaccess文件並輸入Options -Indexes這將禁用目錄中文件的列表。

如果您還需要來自您網站的流量,您需要創建一個文件說... index.php ,其代碼檢查$_SERVER['HTTP_REFERER']以查看流量​​是否來自您的網站。

編輯

哦,我忘了你實際上可以在.htaccess中修復它:

Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://your-host.com/.*$ [NC]
RewriteRule ^.* /403-page [L,R]

這將完成我建議的腳本的所有工作,因此您將不再需要它。

是的,這是正確的。 .access文件阻止對用戶的訪問,但對本地服務器腳本沒有影響。

Deny from all

.htaccess或移動文件根目錄上方的文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM