簡體   English   中英

通過檢查登錄用戶來使用htaccess保護目錄

[英]Protecting directories with htaccess by checking logged in user

我一直在嘗試創建一個允許用戶上傳word文檔的網站..然后這些文檔將存儲在網站的公共目錄中。 問題是,我不希望每個人都訪問上傳的文件..我想檢查他們是否首先登錄,如果他們是“授權用戶”..說如果他們的帳戶級別為50或更高,然后他們被允許打開目錄..

無論如何我可以通過.htaccess做到這一點嗎?還是有更好的解決方案?

我不知道這是一個愚蠢的問題,但請幫助我。 我會非常感謝我現在能得到的任何幫助。

注意:

很抱歉沒有提及,但我實際上想使用谷歌文檔查看這些文檔,以便將它們嵌入我的網站。

聽起來您正在采用將公共文檔目錄放在Web根目錄下的某個位置的方法。 出於多種原因(安全性,可移植性,可維護性),這不是最佳方法。

這是一種快速而骯臟的方法(我假設您已經使用數據庫或其他方式來處理用戶身份驗證來存儲憑據):

  1. 將文檔目錄放在Web根目錄之外的某個位置。
  2. 創建一個函數(或類)來讀取文檔目錄中的文件列表(查看scandir()http://www.php.net/manual/en/function.scandir.php
  3. 創建一個頁面,顯示讀取文檔目錄的結果。 每個文件都應該是指向頁面的鏈接以及指示文件的URL參數。 在此頁面中,檢查用戶的憑據,然后再顯示文件列表。
  4. 在文件列表頁面指向的頁面中,檢查以確保文檔目錄中存在所請求的文件(不要忘記再次檢查以確保用戶具有必要的憑據!),然后讀取該文件並推送它給用戶。 請參閱readfile()http://php.net/manual/en/function.readfile.php ),在設置各種標題字段的示例中特別注意。

您可能希望使用數據庫(MySQL?)和PHP會話來檢查是否:

  1. 用戶已成功登錄(數據庫中的憑據)
  2. if($level >= 50) ,用戶的“50級”或更高if($level >= 50)
  3. 當用戶在頁面之間切換時,使用會話和會話變量來創建持久身份驗證密鑰
  4. 你不應該為此使用.htaccess文件。

暫無
暫無

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

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