2010-09-18 70 views
1

我有一個圖像在我的網站的根目錄。它包括應該公開的圖像,公共子目錄中的圖像以及私人目錄中的圖像,這些圖像應只對登錄用戶可用。問題是登錄的用戶可以複製img網址,將其提供給非用戶,現在他們可以訪問。限制圖片訪問Codeigniter

我有一個.htaccess文件已經設置,以防止盜鏈。我懷疑我需要創建一個服務器映像的控制器,並檢查爲映像提供服務的用戶憑證b4,如果用戶嘗試訪問私人映像,則使用.htaccess將用戶發送給該控制器?這是最佳做法嗎?有人可以發佈一些代碼來幫助我更好地形象化。

回答

2

對用戶進行身份驗證後,您始終可以使用PHP來從隱藏路徑中傳輸圖像。創建一個控制器進行調用getimage.php你叫這樣的:然後在控制器

<img src="getimage?imagename.jpg" /> 

<?php 
class Getimage extends Controller{ 
    function index(){ 
     //code to authenticate user goes here then... 
     header("Content-type: image/jpeg"); 
     if(file_exists(hiddenpath.$_GET['imgid'])){ 
      $img_handle = imagecreatefromjpeg(hiddenpath.$_GET['imgid']) or die(""); 
      ImageJpeg($img_handle); 
     } 
    } 
} 
?>