Loading
0

通过规则实现Apache、IIS7、Nginx设置防盗链方法

1000x200
前言:网站上的图片等资源经常被其他网站链接调用,会消耗自己网站流量,加重自己网站的负载,可参考如下方法设置防盗链,禁止其他网站调用我们网站中指定资源即可。
1、Linux下规则文件.htaccess(手工创建.htaccess文件到站点根目录,若已经存在这文件并且有其他伪静态规则,请注意不要覆盖,根据自己的情况添加到合适位置)

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !blog.tag.gg[NC]
#RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteRule .*\.(gif|jpg|png|css|js)$ /band.txt [NC,L]
</IfModule>

注:blog.tag.gg是您自己的域名,band.txt是被盗链后的提示内容文件

2、(iis7、iis8、iis10)Windows2008、2012或更高系统下规则文件web.config (手工创建web.config文件到站点根目录,若已经存在这文件并且有其他伪静态规则,请注意不要覆盖,根据自己的情况添加到合适位置)

<?xml version="1.0" ?>
 <configuration>
  <system.webServer>  
   <rewrite>  
    <rules>   
      <rule name="rule1" stopProcessing="true">
        <match url="^.*\.(css|js|gif|png|jpg|jpeg)$" ignoreCase="true" />
        <conditions>
          <add input="{HTTP_REFERER}" pattern="blog.tag.gg" negate="true" />
          <!--<add input="{HTTP_REFERER}" pattern="^$" negate="true" />-->
        </conditions>
       <action type="AbortRequest" />
      </rule>
   </rules>  
  </rewrite>  
 </system.webServer>
</configuration>

注意:域名可以不用加www,直接填写顶级域名即可。
3、Nginx下添加规则实现

 location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
        {
                valid_referers none blocked blog.tag.gg *.tag.gg;
                if ($invalid_referer) {
                        rewrite ^/ https://blog.tag.gg;
                }
root html;
        }

如上nginx规则中:不是来源于*.tag.gg站的访问都会拒绝。
1000x200

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-10-36160-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?

最后编辑于:2021-08-28 12:29:41作者:

上一篇:Apache和Nginx如何选择?有什么区别?
下一篇:返回列表