2013-02-02 64 views
1

用戶上傳文件,讓我們說遠程服務器上的圖像文件。 例如,如果user1上傳的圖像以該路徑基於PHP所有者的文件訪問保護

http://somedomain.com/uploads/123.jpg 

我使用上述URL的網頁上顯示的圖像的登錄的用戶。 假設用戶註銷。和一些用戶來了解上面的網址,他可以訪問該圖像。我怎樣才能防止這一點?

回答

1

我只會爲您演示一個想法。然後,您可以更詳細地搜索解決方案。有很多解決方案,其中很多都很複雜,所以取決於你願意走多遠。我認爲這是一個非常簡單的解決方案(當然取決於你的編程技巧)。所以,

  1. 用戶單擊鏈接http://somedomain.com/uploads/123.jpg打開圖像。
  2. 你有一個htaccess文件,將採取該網址,並進行轉換(幕後)。
  3. 該htaccess文件將實際調用,例如,這些images.php文件。
  4. images.php文件將獲取圖像的名稱,並將檢查用戶是否登錄。
  5. 如果用戶已經登錄,它將grub圖像文件的名稱,比方說,up-image-123.jpg
  6. htaccess文件將再次執行轉換,而不是揭示真實姓名up-image- 123.jpg,會顯示123.jpg(這不是一個真正的文件名給其他人訪問)
+0

謝謝,希望看到更多的東西。這是我知道的最大的挑戰 –

+0

!幾個月前我有同樣的挑戰......很難找到真正簡單的東西。 –

+0

我也發現私人文件退出域名根目錄以外的最佳做法是。但是,我不是這方面的專家。 –