- 本文地址: https://www.yangdx.com/2022/06/214.html
- 转载请注明出处
上周测试同事发现,刷新页面时,第三方图片偶尔出现403拒绝访问。
本人排查,出现此问题的图片 header 头都带了 referer 字段,触发了第三方的防盗链机制。然而,前端同事在动态生成 img 标签时,确认已经增加了 referrerpolicy="same-origin" 属性(即同源才发送 referer 头)。模板如下:
<img :src="item.cover_src" alt referrerpolicy="same-origin" />
本人猜测,vue 在生成标签属性时,是按顺序以一个一个添加的,因 src 属性在前,有些图片加载太快,浏览器还未识别到 referrerpolicy 就已经发出了请求,所以才会带 referer 头。
为验证猜想,将 referrerpolicy 属性放在最前面,模板修改如下:
<img referrerpolicy="same-origin" :src="item.cover_src" alt />
经过调整后,第三方图片403的问题目前没有再出现了。
至于是否为本人猜想,或是巧合,需要前端同事有空去阅读 vue 源代码才知道。另外,浏览器内核是 Chromium 62。
快来评论一下吧!
发表评论