2011-06-18 16 views

回答

3

感謝在IRC上#httpd通道的傢伙在我終於找到的代碼htaccess的塊,以防止有人盜鏈到我的字體

SetEnvIfNoCase Referer "^https?://([^/]*)?example\.com/" local_ref=1 
SetEnvIf Referer ^$ local_ref=1 

<FilesMatch "\.(eot|svg|ttf|woff)$"> 
    Order Allow,Deny 
    Allow from env=local_ref 
</FilesMatch> 

來源:Apache Wiki

由於某些原因,@joshhendo提供的代碼不適用於字體文件類型和圖像。我不知道如何.htaccess工作,也許其他人有更多的經驗可以編鐘英寸

1

您可以防止熱鏈接(請參閱http://altlab.com/htaccess_tutorial.html)。這可以改變爲字體),這將只允許你的域的頁面訪問它。這不會阻止人們下載字體並將其上傳到他們自己的服務器,但對此您無能爲力。

下面的代碼應該工作(從上面的網址,但我已經修改了它,包括你提到的字體。顯然,你需要改變mysite.com你的域名。

RewriteEngine On 
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC] 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteRule .*\.(eot|svg|ttf|woff)$ - [F] 
+0

感謝您花時間回答,但由於某種原因,我仍然可以通過我的本地開發網站訪問我的現場網站字體使用重寫你給我。我不確定,但它可能與我的託管有關,它不是我第一次在24小時後看到'.htaccess'中的更改。 – VicePrez

+0

你認爲你可以用圖像來試試嗎?使用鏈接教程中的代碼來查找圖像的重寫代碼。如果它阻止了圖像,那麼顯然這些代碼對於字體和圖像不一樣。如果它不阻止它們,那麼主機配置可能有些問題。 – joshhendo

+0

是的,我在那之前在你前面。它似乎沒有工作。有趣的是我有'mod_rewrites' url重定向,這是尊重,不知道爲什麼這些不是。我猜測它是一個等待遊戲,我在我的主機上遇到了與我的'htaccess'更新有關的更新問題。 – VicePrez