我试图阻止我们的网站上的图像的热链接。 我试过编辑
在/etc/httpd/conf/httpd.conf中join以下内容到文件末尾:
<VirtualHost *:80> ServerName www.myserver.co.uk ServerAlias myserver.co.uk DocumentRoot /var/www/html/www.myserver.co.uk ServerPath /www.myserver.co.uk SetEnvIfNoCase Referer "myserver'.co.uk" local_ref=1 <FilesMatch "'.(gif|jpg|jpeg|png)"> Order Allow,Deny Allow from env=local_ref </FilesMatch>
但是这似乎并不妨碍热链接。 我知道我也可以防止在.htaccess文件中的热链接,但想知道为什么我通过httpd.conf文件尝试做的失败?
我也试过了:
SetEnvIfNoCase Referer "^http://www\.myserver\.co\.uk/" banimages=1 SetEnvIfNoCase Referer "^http://myserver\.co\.uk/" banimages=1 SetEnvIfNoCase Referer "^$" banimages=1 <FilesMatch "\.(gif|png|jpe?g)$"> Order Allow,Deny Allow from env=banimages=1 </FilesMatch>
哪个也没用。 我做错了什么?
编辑:我还没有在httpd.conf文件的末尾尝试以下4行,而不是像虚拟主机标签中的任何标签:
RewriteEngine on RewriteCond %{HTTP_REFERER} !="" RewriteCond %{HTTP_REFERER} !mysite\.co\.uk [NC] RewriteRule \.(jpe?g|gif|png)$ - [F,NC]
图像看起来仍然可以热连接。
请参阅http://wiki.apache.org/httpd/RewriteImageTheft
请参阅热链接图像