2012-02-23 71 views
2

我不知道如何定位的圖片在這下面的代碼:採用防盜鏈

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://dooomain.com/.*$  [NC] 
RewriteCond %{HTTP_REFERER} !^http://www.dooomain.com/.*$ [NC] 
RewriteRule .*.jpg$ -       [L] 

真的不知道,我必須插入JPG文件!它在Web根文件夾中還是在哪裏?

感謝

更新#1

好吧,也許我找到了我的答案,但不知道,所以請人糾正我,如果我錯了......

這裏代碼我應該添加,而不是最後一行在我的主要職位:

RewriteRule \.(gif|jpg)$ https://www.mydooomain.com/pic.gif [R,L] 

我需要把圖片放在根這種情況,是嗎?

謝謝

回答

4

上面的最後一條規則很好。但rewritecond可以在一行中完成。

RewriteCond %{HTTP_REFERER} !^(?:$|http://domain.com|http://www.domain.com) [NC] 
RewriteRule \.(gif|jpg)$ https://www.mydomain.com/pic.gif [R,L] 
+0

Thanks @Thinking。這非常有幫助。將盡快嘗試。 – 2012-02-23 07:50:29

+2

@Digitalsite,你可能還會考慮[R = 301,L]或者確保'pic.gif'上的Expires是訪問加1個月分鐘,如果你正在獲取這些內容。 – TerryE 2012-02-23 08:44:29

+1

是@TerryE是對的​​。 'R = 301'會盡量減少一些,如果不是所有的請求。 – ThinkingMonkey 2012-02-23 08:46:22

0

我正在努力解決同樣的問題。 如果我設置基於引用的Apache規則很容易通過: http://www.mustap.com/phpzone_post_62_how-to-bypass-the-referer-se 當然這不是正確的選擇。

我的Apache的conf文件:

<Directory /var/www/path> 
    Order allow,deny 
    Deny from all 
    Options -Indexes 
    # Check against the referer, first level check 
    SetEnvIf Referer domain1\.com domain1 
    SetEnvIf Referer domain1\.com domain2 
    <FilesMatch \.(jpg|jpeg|gif|png)$> 
     Order deny,allow 
     Deny from all 
     Allow from env=domain1 
     Allow from env=domain2 
    </FilesMatch> 
</Directory> 

基本上所有的文件被封鎖,除了圖像,但創建一個簡單的PHP文件,我繞過進行了檢測。 想法?

+0

我想知道你在哪裏寫你的代碼?是不是應該在服務器根文件**。htaccess ** – 2012-03-06 14:18:27