我正在尝试阻止我们网站上的图片热链接。我尝试过编辑
/etc/httpd/conf/httpd.conf 在文件末尾添加以下内容:
<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 行,而不将它们放在任何标签中,例如 virtualhost 标签:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !=""
RewriteCond %{HTTP_REFERER} !mysite\.co\.uk [NC]
RewriteRule \.(jpe?g|gif|png)$ - [F,NC]
这些图像似乎仍然可以进行热链接。