大家好,我是魚皮,這兩天又發(fā)生了一件挺意外的事情:Gitee 的圖床廢了!
圖床:指儲存圖片的服務器,便于在網(wǎng)上展示圖片
昨天晚上,星球里不止一位小伙伴發(fā)帖子表示自己網(wǎng)站、文章中的圖片竟然全部變成了 Gitee 的圖標?!
我當時還不了解真相,心想 Gitee 這么大的代碼開源平臺也能掛?就問小伙伴怎么回事:
我想,如果是官方的問題,那肯定很多用 Gitee 來做圖床的項目文檔都會受到影響。于是我就去 GitHub 上隨便搜了幾個項目,果不其然,很多項目文檔里的圖標都變成了 Gitee。
千萬別小看這個事情的影響!一方面是鬧了不少笑話,比如下圖這個項目的贊助商,都變成了 Gitee:
還有一些作者的引流、打賞二維碼清一色都變成了 Gitee 圖標,這就直接影響到作者的收入了?。ㄒ惶炝?,作者還沒發(fā)現(xiàn),請大家廣而告之~)
還有同學的博客變成了這樣。。。
于是我先去網(wǎng)上簡單調(diào)研了一下,有不少小伙伴都遇到了這個問題,那估計就是官方的鍋了。
然后我進入 Gitee,找到自己之前搭建的圖床倉庫(專門用來存放圖片的代碼倉庫),隨便找到一張圖片,先進入圖片查看頁(路徑包含 blob),然后點擊原始數(shù)據(jù)查看原圖:
通過跳轉的方式是能夠順利打開圖片的(原圖頁面的地址不包含 blob):
然后我直接復制圖片的地址,刷新頁面,結果就看不到圖片了。按 F12 來監(jiān)聽網(wǎng)絡請求,發(fā)現(xiàn)圖片請求并沒有得到正確的響應,反而得到了一個 favicon.ico:
猜一猜就知道了,這個 ico 文件果然就是 Gitee 的圖標!
那為什么從 Gitee 自己的頁面跳轉到真實圖片地址就能顯示出圖片,直接訪問地址就會被攔截呢?
顯然是 Gitee 給圖片添加了 防盜鏈 ,一般情況下,服務端會從客戶端的請求頭中讀取 Referer,通過判斷 referer 頭是否在白名單中,來決定正常響應圖片還是攔截。
為了驗證這點,再做個實驗。先用 Firefox 瀏覽器直接打開 Gitee 圖片的真實地址,果然無法顯示:
然后我們在 F12 開發(fā)者工具中找到剛剛的圖片請求,點擊編輯并重發(fā):
然后給之前的請求補充上一個 Referer,表示從哪個頁面跳轉到了目標頁面:
果然,圖片就成功響應了:
看來,Gitee 這波真的是加了防盜鏈,事先沒有一點兒通知(直到我發(fā)文前,也沒有通知)。大家紛紛表示傻眼了:
那既然事情已經(jīng)發(fā)生了,無論 Gitee 官方到底是臨時還是永久添加了防盜鏈,我都不建議大家繼續(xù)使用 Gitee 作為圖床(本身它還有 1 M 圖片大小的限制)。而是應該使用七牛云、或者騰訊 / 阿里等云服務廠商提供的穩(wěn)定的對象存儲服務。
對于目前已經(jīng)受 Gitee 影響的小伙伴,可以做以下幾件事:
-
找到新的對象存儲服務
-
把 Gitee 倉庫的代碼打包下載并完整上傳到新的對象存儲服務中(保證路徑一致)
-
使用文本編輯器將圖片的鏈接前綴(gitee.com/xxx)批量替換成新的存儲服務鏈接前綴
唉,想想都麻煩。。。所以條件允許的話,還是建議大家把圖片存到自己的服務器(對象存儲服務),更安全放心一些。
教程推薦:《Git教程》
聲明:本文轉載于:掘金社區(qū),如有侵犯,請聯(lián)系admin@php.cn刪除
- 上一篇:“程序員做飯指南”,GitHub熱榜第一!
- 下一篇:沒有了