1.前言
现在主流软件平台都开启了图片的防盗链,防止其他网站访问他们网站上的图片,大致原理即官方输出图片的时,会在后台判断请求的 Referrer 属性是不是来自于一个非本域名的网站,如果来源不是本域名就返回 403。
2.演示
这里用小红书举例,在小红书抓取了一张图片直链,当你点击会发现图片可以在浏览器内直接打开显示,但是想要直接在文章中直接引用时却会发现图片不能加载以及报错。
3.解决办法
删除 Header 中的 Referrer(访问来源)
a.添加 meta 标签
Whatwg的标准:
<meta name="referrer" content="never">
MDN的标准:
<meta name="referrer" content="no-referrer">
b.添加 ReferrerPolicy 属性
<img src="https://ci.xiaohongshu.com/fd81cd96-5b04-ed65-4fdd-68df8b708880" referrerPolicy="no-referrer" alt="">
4.后记
PC 端小红书里的图片都被官方打上了水印,于是我又顺手抓包了一下 APP 里的图片直链,发现和 PC 端用的两个不同的接口,而且没有水印和防盗链,可以直接在博客内引用,就是图多的话抓包有些麻烦...
突然发现 PC 端自己上传图不会有官方水印,薅大厂当图床