Nginx之实现盗链和防盗链(详细版)

防盗链基于客户端携带的referer实现,referer是记录打开一个页面之前记录是从哪个页面跳转过来的标
记信息,如果别人只链接了自己网站图片或某个单独的资源,而不是打开了网站的整个页面,这就是盗
链,referer就是之前的那个网站域名~

环境准备
10.0.0.8和10.0.0.18两台主机 都需要安装nginx;
客户端 我用win系统

实现盗链;

1;10.0.0.8 确保配置文件;

[root@Centos8 conf.d]#vim pc.conf 

在这里插入图片描述
设置完成后一定要重新加载 nginx -s reload

上传图片,改成a.jpg
在这里插入图片描述
在win的hosts下设置
在这里插入图片描述
在网页上访问;http://www.magedu.org/a.jpg
在这里插入图片描述
2. 在18主机上开始设置;

在这里插入图片描述
在这里插入图片描述
改完记得重新加载服务;
在这里插入图片描述
编写 vim daolian.html
在这里插入图片描述
脚本;

<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>盗链</title>
</head>
<body>
<img src="http://www.magedu.org/a.jpg" >
</body>
</html>
  1. 在8主机上打开日志;

在浏览器上上执行http://10.0.0.18/daolian.html
在这里插入图片描述

[root@Centos8 conf.d]#tail /apps/nginx/logs/access.log -f  #在随时查看

在这里插入图片描述
拓展 这里如果觉得10.0.0.18域名不好看,可以改喔
示例,更换域名为test1
首先在18主机上
在这里插入图片描述
在win上
在这里插入图片描述
域名更改完成;
在这里插入图片描述
在这里 10.0.0.18和www.test1.org就是盗链;
在这里插入图片描述
在这里插入图片描述
盗链完成

实现防盗链;

基于访问安全考虑,nginx支持通过ngx_http_referer_module模块,检查访问请求的referer信息是否有
效实现防盗链功能
在这里插入图片描述
1.定义防盗链
在8主机上 root@Centos8 conf.d]#vim pc.conf
在这里插入图片描述
记得重置 nginx -s reload
2.打开网页测试
http://www.test1.org/daolian.html
在这里插入图片描述
在这一步,我遇到一个小问题,就是重置后直接打开连接 还可以直接打开图片。我当时吓一跳
其实是之前浏览器有缓存,清除缓存就可以了。

至此 盗链和防盗链设置完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值