博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx——防盗链的配置
阅读量:2443 次
发布时间:2019-05-10

本文共 1595 字,大约阅读时间需要 5 分钟。

防盗链

盗链是指有一些不良网站,为了在不增加成本的前提下扩充自己站点的内容,直接盗用其他网站的资源链接,而大部分用户又不会发现。这样的做法一方面损害了原网站的合法利益,另一方面又加重了原网站服务器的流量负担

图片防盗链

图片是一个网站中最容易被盗取的资源,如何使用Nginx来保护图片不被盗链呢?在讲解之前,首先要了解HTTP请求消息中的一个名称为referer的字段,它用于保存当前网页的来源URL地址。当用户打开一个含有图片内容的网页时,浏览器会在图片的请求消息中将网页的URL放在referer中,从而使图片所在的服务器能够跟踪到它被显示的网页地址。

因此,若要实现图片防盗链,最简单的防护手段就是判断referer的值,来判断当前图片的引用是否合法,一旦检测到来源不是本站,就立即阻止图片的发送,或换成一张禁止防盜链提示的图片。

1. 准备两个网站:

在nginx. conf文件中,配置两个虚拟主机www. ng. test和www. test. com,用于在网站www. test. com中盗用网站www. ng. test中的图片链接,配置如下:

server {
listen 80; server_name www.ng.test; root html/ng.test; index index.html index.htm;}server {
listen 80; server_name www.test.com; root html/test.com; index index.html index.htm;}

接下来,在网站www. ng. test的目录html/ng. test中创建img子目录,用于存放网页中的图片资源。然后,分别在网站www.ng.test和www.test.com中创建测试网页,具体如下。

(1) 在网站www. ng. test下,创建index. html文件,用于展示自己网站中的图片,内容如下:

在这里插入图片描述

(2) 在网站www.test.com中盗用网站www.ng.test中的图片链接,index.html的内容如下:

在这里插入图片描述

准备完成后,在浏览器中分别访问网站http://www.ng.test

在这里插入图片描述

http://www.test.com

在这里插入图片描述

从图中可以看出www. test. com网站从www. ng. test中盗链成功。

2. 配置防盗链:

接着,修改网站 www.ng.test的 server 配置,添加允许文件链出的域名白名单,具体设置如下:

location ~*\.(gif|jpg|png|swf|flv)$ {
valid_referers www.ng.test ng.test; if ($invalid_referer) {
return 403; }}

上述第1行配置,用于匹配文件扩展名为gif、jpg、png、swf、flv的资源;第2行中的valid_referers 指令用于设置允许访问资源的网站列表(即白名单)。当请求消息头中的referer符合白名单时,内置变量$invalid_referer的值为空字符串,否则为1。因此,通过第3~5行的配置,可以禁止白名单之外的网站访问资源,并返回403状态码。

白科值得一提的是,valid_referers 指令的参数可以叠加设置,中间使用空格分隔即可。关于valid_referers指令后可以设置的参数值以及相关说明如表:

在这里插入图片描述

3. 验证测试:

访问:www.ng.test

在这里插入图片描述

访问:www.test.com

在这里插入图片描述

需要注意的是,不是所有的浏览器都会发送referer 请求头,并且referer的值还可以被客户端随意修改。也就是说,referer是可以被伪造的。因此,上述讲解的方式只能用于防范普通用户对图片资源的盗用。

转载地址:http://slpqb.baihongyu.com/

你可能感兴趣的文章
outlook使用技巧_微软新Outlook.com的6个技巧和窍门
查看>>
我们尝试了Microsoft的Mac浏览器的New Edge,您也可以
查看>>
如何在Windows 7任务栏上提供更多空间
查看>>
什么是“系统空闲进程”,为什么使用那么多的CPU?
查看>>
我的Internet路由器可能会磨损吗?
查看>>
不是bios引导是什么意思_引导后我的BIOS会做什么?
查看>>
edge chromium_微软的Chromium-Powered Edge具有深色模式,这是启用它的方法
查看>>
op 圣诞节活动_您所说的话:您的怪异圣诞节清单上有什么
查看>>
如何在Windows 8“开始”屏幕上禁用动画
查看>>
如何禁用或重新分配Windows密钥?
查看>>
你说了什么:如何找到新书
查看>>
如何将联系人转移到新的Android手机
查看>>
ipad和iphone适配_如何在iPhone和iPad上调节音乐均衡器
查看>>
USB 4将以更少的钱带来Thunderbolt的速度
查看>>
windows 延迟 启动_如何禁用Windows 10启动延迟
查看>>
如何将iPhone语音邮件备份到MP3
查看>>
小米fortnite_如何将Fortnite移到另一个文件夹,驱动器或PC
查看>>
如何使用阴天将在线文件附加到Gmail邮件
查看>>
sway教程_什么是Microsoft Sway,该如何处理?
查看>>
为什么在网上分享生日很危险
查看>>