안녕하세요 여러분, 저는 Yupi입니다. 지난 이틀 동안 예상치 못한 일이 일어났습니다. Gitee의 사진 침대는 쓸모가 없습니다!
사진침대: 사진을 저장하는 서버를 말하며, 온라인으로 사진을 표시할 때 편리합니다
어젯밤 지구상의 한 명 이상의 친구가 자신의 웹 사이트에 있는 모든 사진과 기사가 Gitee로 바뀌었다는 게시물을 올렸습니다. 아이콘? !
당시에는 진실을 이해하지 못했고 Gitee와 같은 대규모 오픈 소스 코드 플랫폼이 성공할 수 있다고 생각했습니다. 방금 친구에게 무슨 일이냐고 물었습니다.
공식적인 문제라면 Gitee를 사용하여 그림을 그리는 많은 프로젝트 문서가 확실히 영향을 받을 것이라고 생각합니다. 그래서 GitHub에 가서 몇 가지 프로젝트를 검색해보니 당연히 많은 프로젝트 문서의 아이콘이 Gitee로 바뀌었습니다.
이의 영향을 과소평가하지 마세요! 한편으로는 많은 농담이 있습니다. 예를 들어 아래 사진의 프로젝트 후원자는 모두 Gitee로 변했습니다.
트래픽을 지시하고 QR 코드를 보상하는 작성자도 있습니다. 모두 Gitee 아이콘으로 바뀌었습니다. 이것은 작성자의 수입에 직접적인 영향을 미칩니다! (하루가 지났는데 작가님이 아직 발견하지 못하셨어요. 소문내주세요~)
어떤 학생들의 블로그가 이렇게 되어버렸네요. . .
그래서 간단한 조사를 위해 인터넷에 접속했습니다. 많은 친구들이 이 문제를 겪었기 때문에 아마도 공식적인 잘못일 것입니다.
그러다 Gitee에 들어가 예전에 만들었던 이미지 베드 웨어하우스(이미지를 저장하는 데 특별히 사용되는 코드 웨어하우스)를 찾았고, 무작위로 이미지를 찾아 먼저 이미지 보기 페이지(경로에 blob이 포함되어 있음)로 들어간 다음 클릭했습니다. 원본 이미지를 보려면 원본 데이터를 사용하세요. :
그림은 점프하면 원활하게 열 수 있습니다.(원본 그림 페이지의 주소에는 blob이 포함되어 있지 않습니다.):
그런 다음 주소를 직접 복사합니다. 사진을 삭제하고 페이지를 새로고침해도 사진이 보이지 않습니다. 네트워크 요청을 모니터링하고 이미지 요청이 올바른 응답을 받지 못한 것을 확인하려면 F12를 누르십시오. 대신에 favicon.ico가 획득되었습니다:
이 ico 파일은 실제로 Gitee 아이콘입니다!
그럼 왜 Gitee 자체 페이지에서 실제 이미지 주소로 점프하면 이미지가 출력되는데, 직접 접속하면 주소가 차단되는 걸까요?
분명히 Gitee는 이미지에 anti-hotlinking을 추가했습니다. 일반적인 상황에서 서버는 클라이언트의 요청 헤더에서 리퍼러를 읽고 리퍼러 헤더가 있는지 판단하여 이미지에 정상적으로 응답할지 아니면 가로챌지 결정합니다. 화이트리스트.
이를 확인하기 위해 또 다른 실험을 해보겠습니다. 먼저 Firefox 브라우저를 사용하여 Gitee 이미지의 실제 주소를 직접 엽니다. 예상대로 표시할 수 없습니다.
그런 다음 F12 개발자 도구에서 방금 이미지 요청을 찾은 다음 편집을 클릭하고 다시 보냅니다.
그런 다음 이전 참조 페이지에 제공합니다. 이전 참조 페이지를 추가해 어떤 페이지가 대상 페이지로 이동하는지 표시합니다.
물론 사진이 성공적으로 응답했습니다.
Gitee가 이번에는 핫링크 방지 기능을 추가했는데 사전 경고가 거의 없었습니다(게시할 때까지 아무런 공지도 없었습니다). 모두가 어리둥절하다고 말했습니다.
이제 상황이 발생했기 때문에 Gitee가 공식적으로 핫링크 방지 기능을 일시적으로 추가하든 영구적으로 추가하든 상관없이 모든 사람이 Gitee를 그림 침대로 계속 사용하는 것을 권장하지 않습니다(자체에는 1M이 있습니다). 사진) 크기 제한). 대신 Qiniu Cloud 또는 Tencent/Alibaba와 같은 클라우드 서비스 공급업체가 제공하는 안정적인 개체 스토리지 서비스를 사용해야 합니다.
현재 Gitee의 영향을 받고 있는 친구의 경우 다음 작업을 수행할 수 있습니다.
새 객체 스토리지 서비스 찾기
Gitee 웨어하우스의 코드를 패키징하여 다운로드한 후 새 객체 스토리지 서비스에 업로드하세요. 전체(경로가 일치하는지 확인하세요)
텍스트 편집기를 사용하여 이미지의 링크 접두어(gitee.com/xxx)를 새로운 스토리지 서비스 링크 접두어로 일괄 교체하세요
아, 번거롭군요 그것에 대해 생각하고 있습니다. . . 따라서, 여건이 허락한다면, 이미지를 자체 서버(오브젝트 스토리지 서비스)에 저장하는 것이 보다 안전하고 보안성이 뛰어난 서비스입니다.
튜토리얼 추천: "Git Tutorial"