2012-09-07 121 views
0

我試過在htaccess中的下面的代碼來阻止我的圖像被盜鏈,但它不工作。如何防止圖像被盜鏈?

SetEnvIfNoCase Referer "^http://www.example.com/" locally_linked=1 
SetEnvIfNoCase Referer "^http://www.example.comm$" locally_linked=1 
SetEnvIfNoCase Referer "^http://example.com/" locally_linked=1 
SetEnvIfNoCase Referer "^http://example.com$" locally_linked=1 
SetEnvIfNoCase Referer "^$" locally_linked=1 
<FilesMatch "\.(gif|png|jpe?g|css|js)$"> 
    Order Allow,Deny 
    Allow from env=locally_linked=1 
</FilesMatch> 

任何人都可以幫助我如何防止盜鏈?

+0

你的意思是盜鏈。如果你不希望圖像被保存,你將不得不完全離開互聯網。 –

+0

我不知道apache,但最後一個應該是local_linked = 0嗎?另外,你是否需要在允許後拒絕? –

+0

您不會完全阻止鏈接,而是使用htaccess顯示特殊錯誤圖像會更容易。 – Ankit

回答

2

這將顯示一個固定的圖像,只要它的熱鏈接。 (這種形象可能有盜鏈中不允許使用的消息...)

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC] 
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] 

它檢查Refererr也並非一無是處,而引用者不匹配的mydomain然後將其與圖像nohotlink.jpg響應。

要了解防盜鏈更好地看到這些SO主題:
Apache .htaccess hotlinking redirect
Apache Hotlink Protection for Download Folder
基礎教程http://altlab.com/htaccess_tutorial.html

+0

我已經嘗試了所有您提供的幫助鏈接。哪個不起作用 – Mughil

+0

@Ankit:是不是你的代碼允許從http:// mydomain.com.otherdomain.com網站的盜鏈? –

0

這不允許盜鏈,除非引用者是從example.com什麼。

SetEnvIf Referer example\.com localreferer 
<FilesMatch \.(jpg|png|gif|css|js|pdf|doc|xls|txt)$> 
    Order deny,allow 
    Deny from all 
    Allow from env=localreferer 
</FilesMatch>