关于第三方图片资源403问题

Posted 小小白学计算机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于第三方图片资源403问题相关的知识,希望对你有一定的参考价值。

为什么文章列表数据中的好多图片资源请求失败返回 403?

在这里插入图片描述

这是因为我们项目的接口数据是后端通过爬虫抓取的第三方平台内容,而第三方平台对图片资源做了防盗链保护处理。

1. 第三方平台怎么处理图片资源保护的?

服务端一般使用 Referer 请求头识别访问来源,然后处理资源访问。

2. Referer 是什么东西?

扩展参考:http://www.ruanyifeng.com/blog/2019/06/http-referer.html
Referer 是 HTTP 请求头的一部分,当浏览器向 Web 服务器发送请求的时候,一般会带上 Referer,它包含了当前请求资源的来源页面的地址。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
在这里插入图片描述

需要注意的是 referer 实际上是 “referrer” 误拼写。参见 HTTP referer on Wikipedia (HTTP referer 在维基百科上的条目)来获取更详细的信息。

3. 怎么解决?

不要发送 referrer ,对方服务端就不知道你从哪来的了,姑且认为是你是自己人吧。

4. 如何设置不发送 referrer?

<a><area><img><iframe><script> 或者 <link> 元素上的 referrerpolicy 属性
为其设置独立的请求策略,例如:
<img src="http://……" referrerPolicy="no-referrer">

或者直接在 html 页面头中通过 meta 属性全局配置:

<meta name="referrer" content="no-referrer" />

以上是关于关于第三方图片资源403问题的主要内容,如果未能解决你的问题,请参考以下文章

img 标签 访问图片 返回403 forbidden问题

Oauth 2 + Spring Security - 出现 403 禁止错误

Ajax 跨域 PHP 代理 403 错误

关于nginx报403错误的常见几种情况的解决

混合 200(正常)和 403(禁止)HTTP 响应

CodeIgniter 发布请求状态 403