在我的網站上,我以一種簡單的方式存儲用戶圖片,例如: 「image/user_1.jpg」。限制訪問我網站上的圖片,除非通過我自己的htmls
我不希望訪問者只能通過嘗試user_ids來查看服務器上的圖像。 (例:www.mydomain.com/images/user_2.jpg,www.mydomain.com/images/user_3.jpg,等...)
到目前爲止,我心目中有三個解決方案:
我試圖使用.htaccess密碼保護「圖像」文件夾。這有助於我達到某種程度,但某些圖像開始在我的htmls上彈出一個用戶名和密碼請求(雖然令人驚訝的是一些圖像沒有),所以這似乎是一種不可預知的方法。
我可以開始轉換我的user_id的一些鹽與md5哈希。圖像將被命名爲:/image/user_e4d909c290d0fb1ca068ffaddf22cbd0.jpg。我不喜歡這個解決方案。它使文件系統的方式變得複雜。
或者我可以使用PHP的readfile()函數或Perl或Python中類似的東西。例如,我可以通過使用md5字符串傳遞密碼來將訪問者驗證爲可以訪問該圖像的登錄用戶。
我傾向於選項3,但以Perl或Python角度(假設它們會比PHP更快)。不過,我希望看到關於此事的其他想法。也許有一個簡單的.htaccess技巧呢?
基本上所有我想確定的是,沒有人可以查看來自我的網站的圖像,除非圖像是從我的網站上託管的htmls內直接調用的。
非常感謝,
Haluk
沒有理由認爲Perl或Python會比PHP更快。 – JAL 2009-10-26 06:30:09
你能說說你的設置是什麼嗎?例如Apache 2.2/Linux。我會傾向於解決方案1,除了使用虛擬主機而不是.htaccess。查看您的文件權限 - 您可能會獲得所有權/權限不合適的彈出窗口。 – heferav 2009-10-26 08:50:52
我在Apache/Linux上。你能提供一些關於我如何使用虛擬主機來達到這個目的的信息嗎? – Haluk 2009-10-27 10:38:21