Hallo zusammen, ich bin Yupi und in den letzten zwei Tagen ist etwas Unerwartetes passiert: Gitees Bilderbett ist nutzlos!
Bildbett: Bezieht sich auf einen Server, der Bilder speichert, was für die Online-Anzeige von Bildern praktisch ist
Gestern Abend haben mehr als ein Freund auf dem Planeten einen Beitrag gepostet, in dem es heißt, dass alle Bilder auf seiner Website und in seinen Artikeln in Gitee umgewandelt wurden Symbole? !
Ich verstand damals die Wahrheit nicht und dachte, dass eine so große Open-Source-Code-Plattform wie Gitee erfolgreich sein könnte? Ich habe gerade meinen Freund gefragt, was los ist:
Ich denke, wenn es sich um ein offizielles Problem handelt, sind auf jeden Fall viele Projektdokumente betroffen, die Gitee zum Erstellen von Zeichnungen verwenden. Also ging ich zu GitHub und suchte nach ein paar Projekten. Tatsächlich wurden die Symbole in vielen Projektdokumenten auf Gitee geändert.
Unterschätzen Sie die Auswirkungen nicht! Einerseits gibt es viele Witze. Im Bild unten sind beispielsweise alle Sponsoren des Projekts zu Gitee geworden:
Es gibt auch einige Autoren, deren Traffic- und Belohnungs-QR-Codes alle zu Gitee geworden sind Symbole Dies wirkt sich direkt auf das Einkommen des Autors aus! (Es ist ein Tag her und der Autor hat es noch nicht entdeckt. Bitte verbreiten Sie es weiter ~)
Einige Studentenblogs sind so geworden. . .
Also habe ich kurz im Internet recherchiert. Viele Freunde sind auf dieses Problem gestoßen, es ist also wahrscheinlich der offizielle Fehler.
Dann betrat ich Gitee und fand das Bilderbettlager, das ich zuvor erstellt hatte (ein Codelager, das speziell zum Speichern von Bildern verwendet wurde), zuerst die Bildanzeigeseite aufrief (der Pfad enthält Blobs) und dann darauf klickte auf den Originaldaten, um das Originalbild anzuzeigen. :
Das Bild kann durch Springen reibungslos geöffnet werden (die Adresse der Originalbildseite enthält keinen Blob):
Dann kopiere ich die Adresse direkt des Bildes und aktualisiere die Seite, aber ich kann das Bild nicht sehen. Drücken Sie F12, um Netzwerkanfragen zu überwachen und festzustellen, dass die Bildanfrage keine korrekte Antwort erhalten hat:
Ratet mal, diese ICO-Datei ist tatsächlich das Gitee-Symbol!
Warum kann dann das Bild angezeigt werden, wenn von Gitees eigener Seite zur echten Bildadresse gesprungen wird, aber warum wird es blockiert, wenn direkt auf die Adresse zugegriffen wird?
Anscheinend hat Gitee dem Bild Anti-Hotlinking hinzugefügt. Unter normalen Umständen liest der Server den Referrer aus dem Anforderungsheader des Clients und entscheidet, ob er normal auf das Bild antwortet oder es abfängt, indem er beurteilt, ob der Referrer-Header vorhanden ist die Whitelist.
Um dies zu überprüfen, führen wir ein weiteres Experiment durch. Öffnen Sie zunächst mit dem Firefox-Browser direkt die tatsächliche Adresse des Gitee-Bildes. Wie erwartet kann es nicht angezeigt werden:
Dann finden wir die Bildanfrage gerade in den F12-Entwicklertools, klicken auf Bearbeiten und senden erneut:
Geben Sie es dann an die vorherige Anfrage weiter, um den vorherigen Referrer hinzuzufügen, und geben Sie an, welche Seite zur Zielseite springt:
Sicher genug, das Bild hat erfolgreich geantwortet:
Es scheint, dass Gitee dies getan hat Diesmal wurde wirklich Anti-Hotlinking hinzugefügt, und es gibt keine vorherige Warnung. Wenige Benachrichtigung (und keine Benachrichtigung, bis ich etwas gepostet habe). Alle sagten, sie seien verblüfft:
Nachdem die Dinge geschehen sind, empfehle ich nicht jedem, Gitee weiterhin als Bilderbett zu verwenden, unabhängig davon, ob Gitee vorübergehend oder dauerhaft Anti-Hotlinking hinzufügt (es selbst hat 1 M Größenbeschränkungen für Bilder). Stattdessen sollten Sie stabile Objektspeicherdienste verwenden, die von Cloud-Dienstanbietern wie Qiniu Cloud oder Tencent/Alibaba bereitgestellt werden.
Für Freunde, die derzeit von Gitee betroffen sind, können Sie Folgendes tun:
Suchen Sie einen neuen Objektspeicherdienst
Packen Sie den Code des Gitee-Warehouses ein, laden Sie ihn herunter und laden Sie ihn in den neuen Objektspeicherdienst hoch seine Gesamtheit (Stellen Sie sicher, dass die Pfade konsistent sind)
Verwenden Sie einen Texteditor, um das Link-Präfix des Bildes (gitee.com/xxx) stapelweise durch das neue Speicherdienst-Link-Präfix zu ersetzen
Oh, es ist einfach mühsam darüber nachdenken. . . Wenn die Bedingungen dies zulassen, wird daher empfohlen, die Bilder auf Ihrem eigenen Server (Objektspeicherdienst) zu speichern, was sicherer und sicherer ist.
Tutorial-Empfehlung: „Git Tutorial“