DMZJWZ 资料网,php、asp.net、javascript 等资源免费分享平台

nginx WEB服务器设置防盗链方法

作者:吴建民发布日期:2020-07-14分类: 建站经验

本文给大家介绍nginx WEB服务器设置防盗链方法,网站安全至关重要其中被盗链是最头大的事情,其实在Nginx里面,很容易就做到防盗链的,在nginx.conf文件加入一个localtion配置项。

下面请看配置:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
 expires      30d;
}

把这一段修改成:

location ~* \.(gif|jpg|png|jpeg)$
{
    expires     30d;
    valid_referers none blocke *.hugao8.com *.baidu.com *.google.com;
    if ($invalid_referer) {
        rewrite ^/ https://www.yxiupei.cn;
        #return 403;
    }
}

这些配置到底是什么意思,下面我们一起来看看

首先

location ~* \.(gif|jpg|png|jpeg)$

这是你需要防盗链的文件格式,可以自定义,多文件格式用 | 符号隔开即可

再看看这一行

valid_referers none blocke *.yxiupei.cn *.baidu.com *.google.com;

就是白名单,允许文件来源页的域名白名单,自行修改成您的域名!*.yxiupei.cn 这个指的是子域名,域名与域名之间使用空格隔开!

rewrite ^/ https://www.yxiupei.cn;

这是访问者访问了防盗链的图片后返回的东西,可以是一个url地址,也可以是一张图片

注意

我们的白名单理有这样一个东西 none blocke 

因为防盗链是由来源页验证的,none blocke 表示没有来源页也可以访问,也就是说 来源页为空,或者来源页在白名单内就可以访问

下面我们来删掉 none blocke ,改成

valid_referers  *.yxiupei.cn *.baidu.com *.google.com;

这样表示必须要有来源页,且来源页必须在白名单内才能访问了


当然了,也可以设置某个目录防盗链,只需把localtion匹配的改成一个目录就可以了,比如:

location ~ ^/images/ {
    valid_referers none blocked www.qixing318.com qixing318.com;
    if ($invalid_referer) {
        return 404;
    }
    #rewrite ^/ http://otherdomin.com/404.jpg;
}

这样就对images这个目录设置防盗链了,大家看明白吗?希望这篇文章能对大家有一定的帮助!

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

欢迎使用手机扫描访问本站