From 90e9632d7b90fbda630adac2099fe0b5de878c37 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 20:09:26 +0000
Subject: [PATCH] =?UTF-8?q?fix(community):=20OG=20=E5=B0=81=E9=9D=A2?=
=?UTF-8?q?=E5=8A=A0=20referrerPolicy=20no-referrer=20=E8=A7=84=E9=81=BF?=
=?UTF-8?q?=E5=BE=AE=E4=BF=A1=E9=98=B2=E7=9B=97=E9=93=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
微信 mmbiz.qpic.cn(以及知乎 pic* / 小红书 ci.xiaohongshu.com)对图片请求检查
Referer,非 mp.weixin.qq.com 来源直接返回"此图片来自微信公众平台未经允许不可
使用"的裂图。不发 Referer 时反而放行(微信客户端打开文章时浏览器也不发)。
改动:
- LinkCard: 加 referrerPolicy="no-referrer"
- /admin/community: 原来的 next/image 改成
+ referrerPolicy
(顺手规避 next/image remotePatterns 对任意外站域名的限制——Copilot CR 之前
指出过,当时用 unoptimized 绕过,现在统一切
更干净)
---
app/admin/community/page.tsx | 15 ++++++++-------
app/feed/components/LinkCard.tsx | 6 +++++-
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/app/admin/community/page.tsx b/app/admin/community/page.tsx
index 3eb8290..e78a129 100644
--- a/app/admin/community/page.tsx
+++ b/app/admin/community/page.tsx
@@ -12,7 +12,6 @@
*/
import { useEffect, useState } from "react";
-import Image from "next/image";
import { AdminGuard } from "@/app/admin/events/AdminGuard";
import type { SharedLinkView } from "@/app/feed/types";
import { sanitizeExternalUrl } from "@/lib/url-safety";
@@ -130,16 +129,18 @@ function AdminCommunityInner() {
key={link.id}
className="border border-[var(--foreground)]/40 p-4 flex flex-col md:flex-row gap-4"
>
- {/* 左:OG 封面缩略图(没抓到就占位) */}
+ {/* 左:OG 封面缩略图(没抓到就占位)。
+ 改用
+ referrerPolicy="no-referrer":微信/知乎/小红书
+ 图床防盗链会检查 Referer,非本站来源返回"未经允许"裂图。
+ next/image 的 remotePatterns 限制外站域名也一并规避。 */}