新浪图床外链403错误,原理不显示解决方法

作者 夜狼荼 2019年06月02日 02:35 阅读 2050

新浪图床外链403错误原理:

当浏览器向服务器发送请求时,一般会带上Referer头,告知服务器该请求是从哪个页面链接过来的。 每当请求一个url,服务器会检查客户URL中所携带的Referer字段的信息,禁止或者允许符合特定规则的url访问,Referer经常被用于页面访问统计、图片防盗链等。

常见CDN服务就会提供此类型的防盗链功能,典型特征是:不能通过其他网站访问,但是直接访问图片资源的URL是可以下载、查看。

新浪图床403解决办法1:META标签

在网站的<head>标签内添加一行声明referrer的规则

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

注意:可能会有一些网站基于referrer规则的功能会异常

referrer 可用值

  • 1、no-referrer:所有请求不发送 referrer。

  • 2、no-referrer-when-downgrade(默认值):当请求安全级别下降时不发送 referrer。目前,只有一种情况会发生安全级别下降,即从 HTTPS 到 HTTP。HTTPS 到 HTTP 的资源引用和链接跳转都不会发送 referrer。

  • 3、same-origin:对于同源的链接和引用,会发送referrer,其他的不会。

  • 4、origin:在任何情况下仅发送源信息作为引用地址。源信息包括访问协议和域名。

  • 5、strict-origin:在安全级别下降时不发送 referrer;而在同等安全级别的情况下仅发送源信息。注意:这个是新加的标准,有些浏览器可能还不支持。

  • 6、origin-when-cross-origin:同源的链接和引用,会发送完全的 referrer 信息;但非同源链接和引用时,只发送源信息。

  • 7、strict-origin-when-cross-origin:同源的链接和引用,会发送 referrer。安全级别下降时不发送 referrer。其它情况下发送源信息。注意:这个是新加的标准,有些浏览器可能还不支持。

  • 8、unsafe-url:无论是否发生协议降级,无论是本站链接还是站外链接,统统都发送 Referrer 信息。正如其名,这是最宽松而最不安全的策略。

新浪图床403解决办法2:IMG标签

HTML5中的img标签有一个referrerpolicy的属性,可以显示声明referrer规则

referrerpolicy="no-referrer"

<img src="https://wx4.sinaimg.cn/large/006WvzUFly4g2fbc9ojcbj30j60auq3j.jpg" referrerpolicy="no-referrer">

发表评论