• 突发!Gitee 图床,废了!


    大家好,我是鱼皮,这两天又发生了一件挺意外的事情: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),帮助大家省去自己搭建的时间和金钱成本。欢迎大家的加入~

  • 相关阅读:
    C++中int与string的相互转换【转】
    C# 获取文件名及扩展名【转】
    k8s查看容器日志---查看运行中指定pod以及指定pod中容器的日志
    shell字符串截取
    Kubernetes集群之清除集群
    Expect Command And How To Automate Shell Scripts Like Magic
    CentOS 7搭建本地yum源和局域网yum源
    使用MobaXterm配置ssh隧道(port forwarding)
    重置jenkins用户名密码
    Kubernetes之Taints与Tolerations 污点和容忍
  • 原文地址:https://www.cnblogs.com/yupi/p/16058718.html
Copyright © 2020-2023  润新知