问题描述
|
我不确定这是否重复,请事先接受我的歉意。如何防止他人使用
.htaccess
来浸取/下载@font-face
字体(eot,svg,ttf,woff)
并仅允许我的域使用它们?
解决方法
感谢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提供给我的代码对于字体文件类型和图像均无效。我不确定ѭ2的工作原理,也许其他有更多经验的人会喜欢上。
, 您可以阻止热链接(请参阅http://altlab.com/htaccess_tutorial.html)。可以更改字体的外观),这将仅允许您域中的页面访问它。这不会阻止人们下载字体并将其上传到自己的服务器,但是您对此无能为力。
以下代码应该可以工作(它来自上面的URL,但是我已经对其进行了修改,以包括您提到的字体。显然,您需要将mysite.com更改为您的域名。
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\\.)?mysite\\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\\.(eot|svg|ttf|woff)$ - [F]