在撰写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外链图片
新用户首次登录本站时仍可能无法显示外链图片,刷新网页时常弹出提示信息“若此页面未按预期方式显示,降低高级隐私保护或可解决问题”,选择“降低保护措施后重新载入”即可。
若要进一步实现点击图片时新窗口打开,还需在a
标签中设置rel="noreferrer"
,如下所示:
<a rel="noreferrer" target="_blank"></a>
2 img标签添加referrerpolicy="no-referrer"
无法作用于使用Markdown语法插入的图片。
<img src="image/url" referrerPolicy="no-referrer" />
偶尔仍无法显示图片。
3 第三方代理
自行寻找第三方代理图床。