最近在项目中遇到了一个问题就是项目中需要显示其他网站上的图片,网上找了好多,但是没有一个具体的代码策略,我在这里给大家提供一个方案。

先说说防盗链的原理,http 协议中,如果从一个网页跳到另一个网页,http 头字段里面会带个 Referer。图片服务器通过检测 Referer 是否来自规定域名,来进行防盗链。

如果盗用网站是 https 的 protocol,而图片链接是 http 的话,则从 https 向 http 发起的请求会因为安全性的规定,而不带 referer,从而实现防盗链的绕过。

我的解决方案原理就是使用iframe来绕过图片防盗链,具体就是拿到页面中的图片地址,然后将该图片放在一个iframe里,然后将新的iframe替换到原图片的位置,然后将原图片去掉,完美解决。

具体代码如下:

<script type="text/javascript">$(document).ready(function() {//获取Class为arcContent里面的所有imgvar imglist=$(".mainList img");//或使用下面这句,获取ID为divArticle里面的所有img//var imglist=$("#divArticle img");for(var i=0;i<imglist.length;i++){ if(imglist[i].getAttribute('src')){url = new URL(imglist[i].getAttribute('src')); var frameid = 'frameimg' + Math.random();window.img = '<img id="img" width="158" height="108" src=\''+url+''+Math.random()+'\' /><script>window.onload = function() { parent.document.getElementById(\''+frameid+'\').height = document.getElementById(\'img\').height+\'px\'; }<'+'/script>';$(imglist[i]).parent().empty().append('<iframe id="'+frameid+'" src="javascript:parent.img;" frameBorder="0" scrolling="no" width="158" height="108"></iframe>');}}
});
</script>

js修改referer 解决图片防盗链问题相关推荐

  1. 关于图片防盗链 - 图片加载报错403,但可以单独打开图片链接

    一. 问题场景: 项目引用远程图片固定链接时(多为第三方链接),图片会发生在页面无法显示,报错403,应该是加了防盗链,会检测访问图片的referer:但是单独打开该远程链接,又可以打开: 不过我们的 ...

  2. https访问http加载不出图片_前端解决第三方图片防盗链的办法

    作者:biaochenxuying 转发链接:https://github.com/biaochenxuying/blog/issues/31 问题 笔者网站的图片都是上传到第三方网站上的,比如 简书 ...

  3. 前端解决第三方图片防盗链的办法 - html referrer 访问图片资源 403 问题

    问题 笔者网站的图片都是上传到第三方网站上的,比如 简书.掘金.七牛云上的,但是最近简书和掘金都开启了 防盗链,防止其他网站访问他们网站上的图片了,导致笔者的网站存在他们网站上的图片全挂了. 具体问题 ...

  4. php解决微信防盗链,PHP如何解决微信文章图片防盗链

    微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章 或者你也可以通过爬虫去抓取微信的文章 但是微信的图片默认是不允许外部调用的 解决微信文章图片防盗链 function ac ...

  5. php 微信防盗链,PHP如何解决微信文章图片防盗链

    微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章 或者你也可以通过爬虫去抓取微信的文章 但是微信的图片默认是不允许外部调用的 解决微信文章图片防盗链 function ac ...

  6. Typora--终于找到一个能够解决将csdn文章同步到hexo的完美编辑器(解决csdn图片防盗链导致无法直接复制文章的问题)。...

    文章目录 需求 背景 新宠 告诉我,我的名字叫什么?大声点我听不见~ 页面 神奇之处 看得见的优点 如何设置项目根目录 如何显示图片? 于是最终操作流程 个人博客:https://mmmmmm.me ...

  7. php破解referer防盗链解析,Referer原理与图片防盗链实现方法详解

    本文实例讲述了Referer原理与图片防盗链实现方法.分享给大家供大家参考,具体如下: 1.图片防盗链 在一些大型网站中,比如百度贴吧,该站点的图片采用了防盗链的规则,以至于使用下面代码会发生错误. ...

  8. 采用Iframe解决微信图片防盗链‘此图片来自微信公众平台未经允许不可引用’问题

    采用Iframe解决微信图片防盗链'此图片来自微信公众平台未经允许不可引用'问题 最近使用微信公众号爬虫遇到临时链接过期问题,查了各种博客及论坛,好多方法都已经不能用了,目前能用的就是新榜的一个临时链 ...

  9. 网络安全:图片防盗链的实现原理

    来自:掘金,作者:chenhongdong 链接:https://juejin.im/post/5adc0d03518825673a2022b7 前言 防盗链,就是防有人盗用你的链接.别人在他的网站上 ...

最新文章

  1. 技术图文:Python 位运算防坑指南
  2. VUE-CLI webpack配置autoprefixer后build模式与dev不相同,打包后部分前缀或属性丢失,所见即所得...
  3. C语言怎么开辟超大内存?(malloc)
  4. java 图像倾斜角度计算_【干货】无人机航测倾斜实景三维建模进行土方计算(基于Smart3D全面讲解)...
  5. cts(7)---android 8.1 vts环境和测试
  6. python中dir用法_Python dir()函数
  7. C++共享内存类封装
  8. 必须掌握的Java基础知识(一)
  9. litepal更好的操作sqlite3,配置与基本操作
  10. Android新增输入设备
  11. 计算机音乐b型谱简单,尤克里里入门教程_尤克里里谱大全
  12. 教你如何把qlv转换成mp4格式
  13. 我的计算机 不显示桌面存储路劲,win10系统保存文件路径在桌面无法显示的操作步骤...
  14. 51单片机,485,测试03/05/06
  15. 微信摇一摇——iBeacon基站(一):USB蓝牙模式
  16. 【实战】下载歌曲只能开绿钻?NoNoNo, Python爬虫,无所不能。
  17. 计算机流程图知识点,高中数学流程图知识点
  18. Microsoft Visual SourceSafe
  19. 读《禅与摩托车维修艺术》
  20. redis value最大值_Redis value的5种类型及常见操作

热门文章

  1. 机器学习中的数学基础怎么学?
  2. 电子学会 青少年软件编程等级考试 C语言 5 级
  3. 【C++11新特性】 auto关键字
  4. 淘宝核心系统团队介绍
  5. 基于SSM的企业住房公积金管理系统
  6. 什么软件能实现网上共享库存数据
  7. 如何制作伪原创内容?
  8. Android有未接来电后处理(判断未接来电)
  9. matlab里脚本循环语句,Matlab中while循环语句的用
  10. 2022SEO关键发包快速排名系统源码