举例说明:
<img src="https://pic.cnblogs.com/avatar/1549846/20191126100502.png" alt="加载失败"> 图片无法显示
查看控制台的network,错误信息为 403(forbidden)
只需要在<head>标签内添加 <meta name="referrer" content="no-referrer">就可以了
<head>
<meta name="referrer" content="no-referrer">
</head>
原理解析:
http请求头中有一个referrer字段,用来表示发起http请求的源地址信息
服务器端在拿到这个referrer值后判断请求是否来自本站
若不是则返回403,从而实现图片的防盗链。
上面出现403就是因为,请求的是别人服务器上的资源,但把自己的referrer信息带过去了,被对方服务器拦截返回了403
在前端可以通过meta来设置referrer policy(来源策略),referrer设置成no-referrer
,发送请求不会带上referrer信息,对方服务器也就无法拦截了