JavaScript 防盗链的原理以及破解方法
作者:LuckyChou 发布时间:2024-04-18 10:11:03
标签:JavaScript,防盗链
HTTP Referer是header的一部分, 当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。通过该头域的值,我们可以检测到访问目标资源的源地址
背景
前段日子 在自学做项目的时候发现 明明在项目中引用了线上存在的图片 但是在自己的项目中却怎么也显示出来
查阅资料后发现是这些第三方网站设置了防盗链
破解防盗链
先说说防盗链的原理,http 协议中,如果从一个网页跳到另一个网页,http 头字段里面会带个 Referer。
这里的Referer是由于历史原因导致了拼写错误 后来也就一直沿用。
图片服务器通过检测 Referer 是否来自规定域名,来进行防盗链。
如果盗用网站是 https 的 protocol,而图片链接是 http 的话,
则从 https 向 http 发起的请求会因为安全性的规定,而不带 referer,从而实现防盗链的绕过。
官方输出图片的时候,判断了来源(Referer),就是从哪个网站访问这个图片,
如果是你的网站去加载这个图片,那么Referer就是:你的网站地址;
你网站地址,肯定没在官方的白名单内,所以就看不到图片了。
因此,若不发送Referer,也就是没有来源。那么官方那边,就认为是从浏览器直接访问的,所以就能加载正常的图片了。
<meta name="referrer" content="never">
比如在掘金上 查看我的一篇文章中一张图片的Request Headers 就可以看到Referer
来源:https://juejin.cn/post/6911242598266978311


猜你喜欢
- 使用eslint和editorconfig方式使用eslint的好处1、避免运行时因格式问题报错2、方便团队合作,代码风格统一安装eslin
- import osdef load() : filename = os.getcwd() + r'
- 前言我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包
- 一、环境win10、Python3.6、OpenCV3.x;编译器:pycharm5.0.3二、实现目标根据需要追踪的物体颜色,设定阈值,在
- 回顾面向对象编程让我们先用 30 秒钟来回顾一下 OOP 到底是什么。在面向对象编程语言中,可以定义 类,它们的用途是将相关的数据和行为捆绑
- 本文实例为大家分享了python策略模式代码,供大家参考,具体内容如下"""策略模式""&
- 将PHP的执行页面预先转换成HTML,是所谓的PHP静态化方法之一。其他还有模板替换法,opcache等方法。静态化的作用:提高网站的响应速
- yaml文件内容apiVersion: policy/v1beta1kind: PodSecurityPolicymetadata: &nb
- 一、问题的发现与提出在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1:代码段
- 西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧。镜像地址:https://www.blib.cn/url
- 一 修改root密码的三种办法方法1: 用SET PASSWORD命令首先登录MySQL。格式:mysql> set password
- forma格式化的用法format函数可以接受不限个参数,位置可以不按顺序。基本语法是通过{ }和:来代替c语言的%。>>>
- Mysql的增删改查语句简单实现增加记录:insert into tablename(...) values(...)//如果增加的记录包括
- 不敢说得太明显太仔细,反正你懂的。有两种方法,一种是搭建本地授权服务器,另一种是直接替换核心文件,修改对应的注册码。先说第一种。 下载Int
- 本文实例讲述了Python使用Pickle库实现读写序列操作。分享给大家供大家参考,具体如下:简介pickle模块实现了用于对Python对
- vue实现商城秒杀倒计时功能,效果图如下所示:template代码<div> <div class="
- 全文检索引擎入门灰常不幸的是,关系型数据库对全文检索的支持没有被标准化。不同的数据库通过它们自己的方式来实现全文检索,而且SQL
- 上个周末去书店时碰巧看到了AS3 CookeBook,我记得在apollo的alpha版快出来的时候,7yue就推荐过这个小册子,只不过我已
- python list筛选包含字符的字段l = [‘123a',‘456b',‘789c']ll = [s for
- 简介:本文介绍了图像检索的三种实现方式,均用python完成,其中前两种基于直方图比较,哈希法基于像素分布。 检索方式是:提前导入图片库作为