皆さん、こんにちは。私は Yupi です。ここ 2 日間で予期せぬことが起こりました。Gitee のピクチャーベッドが役に立たなくなりました。
画像ベッド: インターネット上での写真の表示を容易にするために写真を保存するサーバーを指します
昨夜、地球上の複数の友人がメッセージを投稿しました彼のウェブサイトや記事でそう言っています すべての写真が Gitee アイコンになったのですか? !
#当時は真実を理解していなかったので、Gitee のような大規模コードのオープンソース プラットフォームを使用できるのではないかと考えていました。何が起こっているのか友人に聞いてみました。
これが公式の問題であれば、Gitee を使用して図面を作成する多くのプロジェクト ドキュメントが間違いなく影響を受けると思います。そこで GitHub にアクセスしていくつかのプロジェクトを検索したところ、案の定、多くのプロジェクト ドキュメントのアイコンが Gitee に変わりました。
この影響を過小評価しないでください。一方で、ジョークもたくさんあり、たとえば、下の写真のプロジェクトのスポンサーは全員 Gitee になっています。トラフィックを集めて 2D に報酬を与える すべてのコードが Gitee アイコンになり、作者の収入に直接影響します。 (一日経ちましたが、作者はまだ発見していません。拡散お願いします~)
一部の生徒さんのブログがこうなってしまいました。 。 。
そこで、インターネットで簡単に調べてみましたが、多くの友人がこの問題に遭遇しているので、おそらく公式のせいだと思われます。
それから私は Gitee に入り、以前に構築した画像ベッド ウェアハウス (画像を保存するために特別に使用されるコード ウェアハウス) を見つけ、ランダムに画像を見つけ、画像表示ページに入りました (パスには BLOB が含まれています)。元のデータをクリックして元の画像を表示します:
画像はジャンプすることでスムーズに開くことができます (元の画像ページのアドレスには BLOB が含まれていません):
その後、画像のアドレスを直接コピーしてページを更新しましたが、画像は表示されなくなりました。 F12 を押してネットワーク リクエストを監視すると、画像リクエストが正しい応答を受け取らなかったことがわかり、代わりに favicon.ico が取得されました:
推測してください、この ico file 案の定、Gitee アイコンです。
では、なぜGitee自身のページから実際の画像アドレスにジャンプすると画像が表示されるのに、直接アクセスするとブロックされてしまうのでしょうか?
どうやら Gitee は画像にアンチホットリンク
を追加したようです。通常の状況では、サーバーはクライアントのリクエスト ヘッダーからリファラーを読み取り、リファラー ヘッダーがホワイトリストにあるかどうかを判断します。画像に通常どおり応答するか、画像を傍受します。 これを確認するために、別の実験を行ってみましょう。まず、Firefox ブラウザを使用して、Gitee イメージの実際のアドレスを直接開きます。予想どおり、表示できません:
次に、先ほどのイメージ リクエストがF12 開発者ツールで、[編集] をクリックして再送信します:
# 次に、前のリクエストにリファラーを追加して、どのページがターゲット ページにジャンプするかを示します: 案の定、画像は正常に応答しました: 今回、Gitee は事前の通知なしに、実際にホットリンク対策保護を追加したようです (私は投稿しましたが、予告なしに投稿しました)。誰もが唖然としたと表明しました: さて、何が起こったのか、Gitee が公式にアンチホットリンクを一時的または永続的に追加するかどうかに関係なく、皆さんには使い続けることをお勧めしません。画像ベッドとしての Gitee (それ自体の画像サイズ制限は 1 M です)。代わりに、Qiniu Cloud や Tencent/Alibaba などのクラウド サービス ベンダーが提供する安定したオブジェクト ストレージ サービスを使用する必要があります。現在 Gitee の影響を受けている友人の場合は、次のことができます:
新しいオブジェクト ストレージ サービスを見つける
パッケージそして、Gitee ウェアハウスのコードをダウンロードして、新しいオブジェクト ストレージ サービスに完全にアップロードします (パスが一貫していることを確認してください)
テキスト エディターを使用して、画像のリンク ( gitee.com/xxx) 新しいストレージサービスのリンクプレフィックスに一括置換
ああ、考えるだけで面倒だ。 。 。そのため、条件が許せば、より安心・安全な自社サーバー(オブジェクトストレージサービス)に画像を保存することをお勧めします。
チュートリアルの推奨事項: 「Git チュートリアル」