在安装主机大师的前提下,可在需要防盗链的网站根目录下创建文件web.config,添加如下内容:(网址请更换为您自己的网址)
如网站根目录下已经存在有web.config文件,只需要把<rule></rule>这一段复制至相应字段中。
同时可以在网站根目录创建一个block.html文件,指定出现被盗链时返回的默认页面,也可以指定404页面。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="blocklink">
<match url="^.*\.(jpg|jpeg|gif|png|js|css)$" ignoreCase="true"/>
<conditions>
<add input="{HTTP_REFERER}" pattern="www.hws.com" negate="true"/>
<add input="{HTTP_REFERER}" pattern="^$" negate="true" />
</conditions>
<action type="Rewrite" url="/block.htm"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>附:APACHE及NGINX下的防盗链设置
Apache下需要在.htaccess文件中添加以下内容
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC] #如允许空REFERER,这一行可注释掉
RewriteCond %{HTTP_REFERER} !hws.com [NC]
RewriteCond %{HTTP_REFERER} !www.hws.com [NC]
RewriteRule .(jpg|jpeg|gif|png|js|css) /404.html [R=404,NC,L]Nginx需要在网站配置文件server段中添加如下内容
location ~ .*\.(jpg|jpeg|gif|png|js|css)$
{
access_log /dev/null;
valid_referers none blocked hws.com www.hws.com; #如允许空REFERER,则把none blocked去掉
if ($invalid_referer){
return 404;
}
}备注:
允许空Referer和不允许空Referer有什么区别?
在防盗链的白名单设置中,如果指名白名单中包含空的Referer,那么通过浏览器地址栏直接访问该资源URL是可以访问到的;
但如果不指名需要包含空的Referer,那么通过浏览器直接访问也是被禁止的。