如何设置网站防盗链

在安装主机大师的前提下,可在需要防盗链的网站根目录下创建文件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="://hws.com/.*" 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,那么通过浏览器直接访问也是被禁止的。

用户留言