文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

nginx配置防盗链的三种实现方式总结

2024-04-02 19:55

关注

什么是资源盗链

资源盗链是指内容不在自己服务器上,而通过技术手段,绕过别人的限制,将别人的内容,比如热门的图片放到自己页面上,展示给用户,以此来盗取别人网站的流量,即蹭流量。

简而言之就是用别人的东西成就自己的网站

如下,分别在网上找的两个图片,可以直接在浏览器中打开这2个链接

一、引导案例

接下来,利用上面的这两个图片链接,我们在nginx的资源目录下,创建一个html页面,将这两张图片的链接设置进去

如下有一个 a.html的页面

在a.html的页面中引用上面两个图片链接,内容如下:

启动nginx服务,然后浏览器上访问a.html页面,观察图片展示的效果

从展示的效果来看,第一张图片可以正常展示,而第二张图片则无法显示,也就是说,第二张图片的地址添加了防止盗链的功能;

二、Nginx防盗链实现原理

了解防盗链的原理之前,需要了解一下HTTP的头信息Referer这个参数;

当浏览器向web服务器发送请求的时候,一般都会带上Referer,来告诉浏览器该网页是从哪个页面链接过来的;

后台服务器根据获取到的这个Referer信息,从而判断是否为自己信任的网站地址,如果是则放行继续访问,如果不是则可以返回403(服务端拒绝访问)的状态信息)

在本地模拟上述的服务器效果如下:

三、Nginx防盗链具体实现

valid_referers

其他参数介绍:

实现方式一

1、在nginx的html目录下创建一个images的目录

2、在nginx.conf中添加如下配置

3、重启nginx,访问下这张图片

4、将这个图片的路径也配置到上面的 a.html中

5、重启nginx之后再次访问a.html,可以正常访问

为了实现防盗链功能,只需要在上面的nginx.conf配置中添加如下内容

添加完毕,重启nginx,再次访问该页面,这时候可以看到,图片就无法再访问了,这就实现了防盗链的功能

实现方式二

针对整个目录进行设置

如果要设置的图片很多的话,还可以针对整个目录进行设置,可以参考如下:

然后在自定义的a.html中修改下图片的路径即可

再次访问页面,也能达到上面的效果

实现方式三

从上面的效果来看,确实达到了防止盗链,但是在实际应用中,希望那些未展示出来的图片显示的更加友好点,可以结合rewrite的方式来做,下面来看具体的实现步骤

1、在网上找一张图片并放到images目录下

效果如下

2、修改nginx.conf配置文件

关键配置信息如下,即将原来的返回403,使用rewrite指向特定的图片即可

修改完毕后重启nginx服务,再次访问上面的路径,可以看到下面的效果

这样也实现了防盗链的效果

总结

到此这篇关于nginx配置防盗链的三种实现方式的文章就介绍到这了,更多相关nginx配置防盗链内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯