Nginx 图片防盗链设置

图片防盗链,只允许图片在特定的站点内访问和URL访问,不允许图片在其他站点上访问。

如:图片是 A 服务器的图片,但是被其他不法站点展示在页面上。

 在 nginx 配置中   的  server 增加 location 限制

# 只有gif|jpg|jpeg|png|bmp|swf后缀进入该位置
# 指定防篡改的文件类型
location ~*\.(gif|jpg|jpeg|png|bmp|swf)& {

    # valid_referers 指定资源访问的合法方式
    # 直接通过url访问,无referer值的情况
    # blocked referer值被防火墙修改

    # 1、允许url访问 和 127.0.0.1:8080 的网站访问
    valid_referers none blocked 127.0.0.1:8080;

    # 1、允许url访问 和 *.baidu.com 的网站访问
    valid_referers none blocked *.baidu.com;

    if ($invalid_referer) {
        # 不符合访问情况,则返回 403 ,也可以重定向到指定的资源
        return 403;
    }
}

配置示例: 

server {
        listen        80;
        server_name  edo.test.com;
        root   "D:/xxx";

	    location ~*\.(gif|jpg|jpeg|png|bmp|swf)& {
            valid_referers none blocked *.test.com;
            if ($invalid_referer) {
			     return 403; 
            }
        }

        location / {
            index index.php index.html error/index.html;
            error_page 400 /error/400.html;
            error_page 403 /error/403.html;
            error_page 404 /error/404.html;
            error_page 500 /error/500.html;
            error_page 501 /error/501.html;
            error_page 502 /error/502.html;
            error_page 503 /error/503.html;
            error_page 504 /error/504.html;
            error_page 505 /error/505.html;
            error_page 506 /error/506.html;
            error_page 507 /error/507.html;
            error_page 509 /error/509.html;
            error_page 510 /error/510.html;

        
            include D:/xxx/nginx.htaccess;
            autoindex  off;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9004;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值