我需要最好的方式來防止任何訪問doc文件,當它不是我的web應用程序,例如,我需要一些文件隱藏搜索引擎或公共用戶,只有私人用戶可以訪問並下載它們。如何限制通過瀏覽器僅通過我的web應用程序下載文件系統
我想將文件保存在文件系統中而不是數據庫中,以免增加數據庫使用率。
我需要最好的方式來防止任何訪問doc文件,當它不是我的web應用程序,例如,我需要一些文件隱藏搜索引擎或公共用戶,只有私人用戶可以訪問並下載它們。如何限制通過瀏覽器僅通過我的web應用程序下載文件系統
我想將文件保存在文件系統中而不是數據庫中,以免增加數據庫使用率。
您可以將文件存儲在文件系統中無法通過URL訪問的目錄中(例如根網站目錄的同級)。這將阻止直接訪問。
然後,編寫一個PHP腳本,當查詢給定文件時,它將檢查用戶是否可以訪問該文件,並以readfile
(以及header
用於內容類型和內容處置)發送它。
Robots.txt是一種阻止/允許某些HTTP用戶代理的方法。這不是最安全的方式。您可以使用基本身份驗證讓您的Web應用程序登錄。
當你說「私人用戶」只我假設這意味着這些用戶以某種方式進行身份驗證。您可以將這些文件存儲在Web目錄之外,然後通過PHP/Perl/Your_Favorite_Programming_language進行提供。
鏈接可能會導致腳本檢查用戶是否已通過身份驗證,如果是,則通過腳本提供文件。
在PHP中,認證用戶後,您可以使用:
header('Content-disposition: attachment; filename=movie.mpg');
header('Content-type: video/mpeg');
readfile('/full/path/to/your/files/movie.mpg');
只記得,使該目錄的根目錄之外,並且權限設置爲腳本運行的(沒人相同的用戶,一般在apache下)。
好悲痛的人在這裏發佈回答這麼多快,然後我:) – Erik 2009-12-30 09:37:58
+1 - 好的回答:) – 2009-12-30 09:59:47