大家好,我是鱼皮,这两天又发生了一件挺意外的事情:Gitee 的图床废了!

图床:指储存图片的服务器,便于在网上展示图片

昨天晚上,星球里不止一位小伙伴发帖子表示自己网站、文章中的图片竟然全部变成了 Gitee 的图标?!

我当时还不了解真相,心想 Gitee 这么大的代码开源平台也能挂?就问小伙伴怎么回事:

我想,如果是官方的问题,那肯定很多用 Gitee 来做图床的项目文档都会受到影响。于是我就去 GitHub 上随便搜了几个项目,果不其然,很多项目文档里的图标都变成了 Gitee。

千万别小看这个事情的影响!一方面是闹了不少笑话,比如下图这个项目的赞助商,都变成了 Gitee:

还有一些作者的引流、打赏二维码清一色都变成了 Gitee 图标,这就直接影响到作者的收入了!(一天了,作者还没发现,请大家广而告之~)

还有同学的博客变成了这样。。。

于是我先去网上简单调研了一下,有不少小伙伴都遇到了这个问题,那估计就是官方的锅了。

然后我进入 Gitee,找到自己之前搭建的图床仓库(专门用来存放图片的代码仓库),随便找到一张图片,先进入图片查看页(路径包含 blob),然后点击原始数据查看原图:

通过跳转的方式是能够顺利打开图片的(原图页面的地址不包含 blob):

然后我直接复制图片的地址,刷新页面,结果就看不到图片了。按 F12 来监听网络请求,发现图片请求并没有得到正确的响应,反而得到了一个 favicon.ico:

猜一猜就知道了,这个 ico 文件果然就是 Gitee 的图标!

那为什么从 Gitee 自己的页面跳转到真实图片地址就能显示出图片,直接访问地址就会被拦截呢?

显然是 Gitee 给图片添加了 防盗链 ,一般情况下,服务端会从客户端的请求头中读取 Referer,通过判断 referer 头是否在白名单中,来决定正常响应图片还是拦截。

为了验证这点,再做个实验。先用 Firefox 浏览器直接打开 Gitee 图片的真实地址,果然无法显示:

然后我们在 F12 开发者工具中找到刚刚的图片请求,点击编辑并重发:

然后给之前的请求补充上一个 Referer,表示从哪个页面跳转到了目标页面:

果然,图片就成功响应了:

看来,Gitee 这波真的是加了防盗链,事先没有一点儿通知(直到我发文前,也没有通知)。大家纷纷表示傻眼了:

那既然事情已经发生了,无论 Gitee 官方到底是临时还是永久添加了防盗链,我都不建议大家继续使用 Gitee 作为图床(本身它还有 1 M 图片大小的限制)。而是应该使用七牛云、或者腾讯 / 阿里等云服务厂商提供的稳定的对象存储服务。

很早之前写过一篇图床搭建教程:《使用 Typora + PicGo 提升百倍写作效率》 ,大家感兴趣可以阅读一下。

对于目前已经受 Gitee 影响的小伙伴,可以做以下几件事:

  1. 找到新的对象存储服务

  2. 把 Gitee 仓库的代码打包下载并完整上传到新的对象存储服务中(保证路径一致)

  3. 使用文本编辑器将图片的链接前缀(gitee.com/xxx)批量替换成新的存储服务链接前缀

唉,想想都麻烦。。。所以条件允许的话,还是建议大家把图片存到自己的服务器(对象存储服务),更安全放心一些。

我也给自己 编程知识星球 内的小伙伴建设了一个 免费高速灵活 的图床(使用腾讯云 COS),帮助大家省去自己搭建的时间和金钱成本。欢迎大家的加入~

突发!Gitee 图床,废了!的更多相关文章

  1. 使用tinypng对需要上传Gitee图床的图片进行压缩

    目录 背景 Tinypng简介 Tinypng使用 手动上传图片 使用API 调用API自动上传超过1MB图片 安装tinyfy 自动上传脚本 其他 背景 在使用Gitee作为图床时(使用Typora ...

  2. 使用Typora+PicGo配置Gitee图床

    1.图床痛点 通常我们用 Typora 写 Markdown 文档,对于文档里面的图片,如果不使用图床,图片都是存放在本地,如果把文档复制到别的地方,还得额外复制图片,特别麻烦. 为了解决这种问题,一 ...

  3. 使用Typora+PicGo实现图片自动上传到Gitee图床

    一.前言 我们在使用Typora编辑器时,会加上图片,有个弊端,只能在本地访问,你发送给别人就无法查看图片,当然可以导出pdf.小编这边的需求是这样的,自己搭建的一个博客系统,基于Hexo搭建的,这个 ...

  4. Typora使用Gitee图床

    前言 现在比较流行的Markdown编辑器应该是Typora,但是Typora本身不支持本地上传图片的云端存储,所以当我们写博客的时候,需要上传图片,就得自己设置图床,今天给大家推荐一款免费的图床-G ...

  5. Typora+PicGo-Core实现图片自动上传gitee图床

    说明: 使用gitee作为图床: 客户机为Mac M1: Typora版本:1.0.2 (5990). gitee配置步骤 需要拥有一个gitee账号,创建一个公有仓库用于存储图片,然后需要生成一个t ...

  6. Gitee图床设置

    https://gitee.com/ 创建新仓库 点击右上角加号->新建仓库,填写基本信息后点击下面的创建即可 https://gitee.com/projects/new 创建新令牌 点击设置 ...

  7. PicGo+Typora配置gitee图床

    1 .下载Typora Typora官网地址:https://www.typora.io/#windows 本文使用的Typora版本为 0.11.2 根据自己的要求进行安装即可! 2.下载PicGo ...

  8. Typora如何配置gitee图床

    转载自:https://mp.weixin.qq.com/s/5dPLbr2vFgL18XKL1Y05Og 要求: 1.Typora需要升级到最新版 2.需要安装nodejs PicGo软件下载地址: ...

  9. 【教程】使用gitee搭建免费的图床

    前几天七牛云的免费图床测试域名回收,导致我上传的图片都不能访问!要配置自定义域名,域名还要绑定主机.没有云主机的我开始想你们搞一个免费的图床,并且数据也不会丢失呢 ? ​ 想到之前自己在GitHub上 ...

随机推荐

  1. Linux目录结构详细

    今日内容 解析映射文件 在 window 和 Linux 系统中都有解析文件,一般名为 host,存放在配置目录 etc 中 在本地机访问网络输入域名时,首先会解析 host 文件,如果域名有对应的i ...

  2. 面向对象—继承(Day19)

    初识继承 继承是一种创建新类的方式,在python中新类可以继承一个或多个父类,父类又可称为基类或超类,新建的类为派生类或子类.(类与类之间的关系是什么是什么的关系.) 继承语法: class Par ...

  3. NeurIPS 2017 | TernGrad: Ternary Gradients to Reduce Communication in Distributed Deep Learning

    在深度神经网络的分布式训练中,梯度和参数同步时的网络开销是一个瓶颈.本文提出了一个名为TernGrad梯度量化的方法,通过将梯度三值化为\({-1, 0, 1}\)来减少通信量.此外,本文还使用逐层三 ...

  4. ASP.NET Core 6框架揭秘实例演示[13]:日志的基本编程模式[上篇]

    <诊断跟踪的几种基本编程方式>介绍了四种常用的诊断日志框架.其实除了微软提供的这些日志框架,还有很多第三方日志框架可供我们选择,比如Log4Net.NLog和Serilog 等.虽然这些框 ...

  5. MySQL让人又爱又恨的多表查询

    1. 前言 在SQL开发当中,多表联查是绝对绕不开的一种技能.同样的查询结果不同的写法其运行效率也是千差万别. 在实际开发当中,我见过(好像还写过~)不少又长又臭的查询SQL,数据量一上来查个十几分钟 ...

  6. 【C#TAP 异步编程】异步接口 OOP

    在我们深入研究"异步OOP"之前,让我们解决一个相当常见的问题:如何处理异步方法的继承?那么"异步接口"呢? 幸运的是,它确实可以很好地与继承(和接口)一起使用 ...

  7. 【windows 访问控制】五、访问权限和访问掩码AcessMask

    访问掩码格式 所有安全对象都使用下图所示的访问掩码格式来安排其访问权限. 在这种格式中,低16位用于特定对象的访问权限,后8位用于标准访问权限,这些权限适用于大多数类型的对象,而4个高位用于指定通用访 ...

  8. Oracle之单行函数(字符串函数/数字函数/转换函数/日期函数/通用函数)

    虚拟表DUAL介绍: dual是一张虚拟表,只有一行一列,用来构成select的语法规则. Oracle的查询中,必须使用"select 列- from 表"的完整语法,当查询单行 ...

  9. WPF优秀组件推荐之LiveCharts

    概述 LiveCharts是一个比较漂亮的WPF图表控件,在数据变化时还会有动画切换的效果,并且样式也可以控制. 官方网站:Live Charts (lvcharts.net) 开源代码:GitHub ...

  10. jQuery-ajax-天气接口

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...