簡體   English   中英

使用htaccess拒絕通過瀏覽器訪問目錄文件

[英]Deny access to directory files via browser with htaccess

我想拒絕(從所有未登錄的用戶)訪問瀏覽器中目錄中的所有文件。

只有登錄的用戶可以訪問該文件夾中的文件。 文件路徑以登錄的用戶ID存儲在數據庫中,因此當用戶登錄時,他只能查看或下載他的文件。

所以我不希望其他人(沒有登錄)從瀏覽器訪問文件夾和文件,其次,我希望用戶只能查看文件夾中的文件。

我想,第二件事我可以用PHP中的一些條件檢查,但對於第一個,誰能告訴我htaccess規則實現?

謝謝

對於.htaccess用戶訪問的部分,您可以在這里查看 .htaccess密碼生成器

不要向他們展示存儲文件的實際文件夾路徑。

使用php文件獲取可下載內容。

例如: - download.php?file = mydocument.doc

缺點:

  1. 可能會很慢
  2. 沒有下載簡歷支持(我猜)

您可以使用.htaccess禁用默認目錄瀏覽。

  • 打開您的.htacces文件

  • 尋找選項索引

  • 如果存在選項索引,請將其修改為選項 - 索引,或者將選項 - 索引添加為新行

    現在應該禁用目錄瀏覽功能

有一篇文章,全面描述了Apache Web服務器的訪問控制功能: http : //httpd.apache.org/docs/2.0/howto/auth.html

最簡單的變體如下所示:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/passwords

順便說一下,這部分:

只有登錄的用戶可以訪問該文件夾中的文件。 文件路徑以登錄的用戶ID存儲在數據庫中,因此當用戶登錄時,他只能查看或下載他的文件。

將需要為每個文件夾創建單獨的密碼文件,或者需要一些其他腳本。

這種方法存在一些已知問題:

  • 基本身份驗證方案將密碼以明文形式發送,如果您的站點可以通過HTTP(而非HTTPS)訪問,則該方法不好。 還有Digest身份驗證類型,但瀏覽器支持存在一些問題

  • 注銷操作將需要關閉瀏覽器

一般來說,我建議:

  • Apache內置功能-用於簡單的訪問控制,而無需詳細的用戶特權/權限配置

  • 通過一些Web編程工具進行自定義訪問控制 - 用於具有所謂的priveleges /權限配置的身份驗證方案。 有許多Web開發框架,它們提供訪問控制功能。

感謝您的答復,我之間發現了一個工作正常的代碼段。 我在.htaccess文件中插入了以下行:

命令拒絕,允許
所有人都否認

暫無
暫無

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

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