在 http 协议请求中 header 里会带个 Referer 字段。通过图片服务器检查 Referer 是否来自规定的域名(白名单),而进行防盗链。 在浏览器中输入防盗链图片地址是能直接访问的。
引用策略说明:
HTTP有一个概念叫做引用策略(Referrer Policy),简单理解就是在Request头中是否发送Referrer头
浏览器可以通过meta标签去设置引用策略,上面的name可以理解为策略key,content可以理解为策略value
默认情况下的引用策略是Referrer Policy:no-referrer-when-downgrade,会在被访问网站安全的情况下在Request头中是否发送Referrer: location.origin
当设置为name="referrer" content="no-referrer"时,Referrer Policy:no-referrer,请求头Request中不会带上Referrer头
解决方案
根据图片请求的头部的referer属性做来源判断,
1.header中添加(根据页面要求在.html中增加 meta)
<meta name="referrer" content="no-referrer">
AI写代码
html
2.图片的img标签上添加 referrerpolicy="no-referrer"解决
<img src="xxxxxx" referrerPolicy="no-referrer" />