TOC
CHAT

图片防盗链解决方案

在撰写HyPress博文时,无法直接通过B站、CSDN等外链插入图片。原理均为开启了防盗链,其利用的是HTTP的Referer属性作判断,若Referer为其白名单之外的网站,则返回403。

本文介绍三种常见的解决办法。

1 meta标签设置name="referrer"【推荐】

在页面header中添加meta标签,设置name="referrer"(若使用HyPress的Markdown编辑器,则可在任意位置添加):

<meta name="referrer" content="no-referrer">

该属性禁止了header发送页面相关信息,快速解决了该问题,可以阻止一些攻击以及绕过图片防盗链的效果,但会出现其他问题,例如影响页面跳转和回溯、第三方统计代码失效(如CNZZ、百度统计)、SEO和社交媒体分享影响等。

【例】下图为CSDN外链图片

CSDN外链图片

新用户首次登录本站时仍可能无法显示外链图片,刷新网页时常弹出提示信息“若此页面未按预期方式显示,降低高级隐私保护或可解决问题”,选择“降低保护措施后重新载入”即可。

若要进一步实现点击图片时新窗口打开,还需在a标签中设置rel="noreferrer",如下所示:

<a rel="noreferrer" target="_blank"></a>

2 img标签添加referrerpolicy="no-referrer"

无法作用于使用Markdown语法插入的图片。

<img src="image/url" referrerPolicy="no-referrer"  />

偶尔仍无法显示图片。


3 第三方代理

自行寻找第三方代理图床。

发表评论