大家好,我是鱼皮,这两天又发生了一件挺意外的事情: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. Solution -「国家集训队」「洛谷 P4451」整数的 lqp 拆分

    \(\mathcal{Description}\)   Link.   求 \[\sum_{m>0\\a_{1..m}>0\\a_1+\cdots+a_m=n}\prod_{i=1}^mf ...

  2. 【摸鱼神器】基于SSM风格的Java源代码生成器 单表生成 一对一、一对多、多对多连接查询生成

    一.序言 UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器.代码生成器模块属于可拆卸模块,即按需引入.代码生成器生成SSM(Spring.SpringBoot.Myb ...

  3. Spring Boot自动配置实战

    上篇讲述了Spring Boot自动配置的原理,本篇内容就是关于该核心原理的实际应用.需求即当某个类存在的时候,自动配置这个类的bean并且这个bean的属性可以通过application.prope ...

  4. 分析CVE-2018-18557与复现

    前言 cve描述: LibTIFF 4.0.9 (with JBIG enabled) decodes arbitrarily-sized JBIG into a buffer, ignoring t ...

  5. PhpStudy集成环境安装教程

    地址:https://www.xp.cn/ 下载软件,直接安装即可.注意路径不能带有空格.安装完成,启动后如下图: 1.数据库的小白操作:先启动服务器Apache和数据库MySQL,如箭头所示 2.可 ...

  6. Burp suite基本配置介绍

    实验目的 利用Burp Spider功能探测目标网站的目录结构. 实验原理 1)Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应 ...

  7. Wireshark教程之过滤器设置

    实验目的 1.工具介绍 2.主要应用 实验原理 1.网络管理员用来解决网络问题 2.网络安全工程师用来检测安全隐患 3.开发人员用来测试执行情况 4.学习网络协议 实验内容 1.抓取特定数据流 2.显 ...

  8. 360携手HarmonyOS打造独特的“天气大师”

    做创新,首先要找到有增长趋势的流量红利,对我们来说,HarmonyOS就是绝佳的合作伙伴. --申悦 360手机助手创研产品部负责人 一.我们是谁? 我们来自360,是一支致力于孵化新业务的内部创新小 ...

  9. containerd与kubernetes集成部署

    概念介绍 cri (Container runtime interface) cri is a containerd plugin implementation of Kubernetes conta ...

  10. 小白学python第2问: 为什么只有int,没有long?

    为什么只有int,没有long? 在python官网开发者指引里面能找到 PEP 237 -- Unifying Long Integers and Integers,这里说明了为什么要统一 int ...