2009-06-12 62 views
3

.htaccess文件不是我的強項。Htaccess和上傳

我有文件上傳去/上傳。上傳完成後,用戶應能夠查看他們剛剛上傳的文檔,方法是單擊通過ajax顯示的文檔鏈接。

但是,我想能夠密碼保護/上傳文件夾,但仍然使當前用戶能夠查看單擊的文件,而不會出現密碼請求。

這是可能在.htaccess中做?

感謝您的任何建議。

回答

0

我不認爲這是可能在.htaccess - 因爲的.htaccess無法知道哪個用戶上傳哪些文件的方式。即使這樣做(例如通過將文件放入uploads/username/),我不認爲.htaccess文件是可行的。我想你可能會想在應用程序級別執行此操作。

1

您可以使用基於cookie的身份驗證(mod_auth_cookie)通過htaccess爲特定位置授予訪問權限。

我不確定是否將cookie路徑設置爲特定文件可以正常工作,但值得一試。

儘管如此,你最好在應用層做這件事。

編輯:This may be a better solution

2

除非您在上傳之前使用HTTP身份驗證來驗證您的用戶,否則這可能無法僅通過.htaccess完成。您需要了解文件的所有者並將其與當前用戶進行比較,這遠遠超出了常規Web服務器功能的範圍。

如果您可能使用Nginx或Lighttpd,則可以使用X-Accel-Redirect/X-Sendfile標題。 Apache2還有一個名爲mod_xsendfile的模塊。使所有對/uploads的請求透明地通過你的應用程序,驗證訪問然後告訴web服務器發送文件。雖然這需要配置Web服務器(有時不可能),但這可能是最正確和最通用的解決方案。

下面是一些有用的鏈接: