nginx防盗链问题

文章讲述了如何通过Nginx配置实现防盗链功能,通过在防盗链服务器上设置只允许特定来源的Referer访问,然后在盗链服务器上进行测试,展示HTTPReferer头信息的局限性。
摘要由CSDN通过智能技术生成

HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理,例如防止未经允许的网站盗链图片、文件等。因此HTTP Referer头信息是可以通过程序来伪装生成的,所以通过Referer信息防盗链并非100%可靠,但是,它能够限制大部分的盗链情况

 接下来开始实验,准备两台虚拟机分别做 图片(防盗链)服务器与盗链服务器

记得关闭防火墙

防盗链服务器:192.168.111.8

盗链服务器:192.168.111.7

防盗链服务器配置:

# vim /etc/nginx/conf.d/nginx.conf        #子配置文件
 server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;

        valid_referers none blocked www.jd.com;  #允许这些访问
                if ($invalid_referer) {
                   return 403;
                }
        }
}
# ls /usr/share/nginx/html/            #前两个文件是本来就存在的,我们添加个图片A.jpeg测试                
 50x.html    index.html     A.jpeg
# systemctl restart nginx

 盗链服务器配置:

# vim /etc/nginx/conf.d/dl.conf
 server {
        listen 80;
        server_name     localhost;
        location / {
                root /usr/share/nginx/html;
                index index.html;
        }
 }

# vim /usr/share/nginx/html/index.html
 <html>
 <head>
     <meta charset="utf-8">
     <title>qf.com</title>
 </head>
 <body style="background-color:red;">
     <img src="http://192.168.111.8/A.jpeg"/>
 </body>
 </html>
# systemctl restart nginx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值