切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud

10

主题

152

积分

0

精华

用户组 

易积分
1906
热心
0
好评
0
解决图片的防盗链导致图片显示不出来[复制链接]
发表于 2020-7-11 10:43:08 | 显示全部楼层 |阅读模式
解决图片的防盗链导致图片显示不出来(适合所有的防盗链图片)
图片的防盗链
因为之前使用了豆瓣的图书 API 用着的时候web 系统突然发现所有的图片都访问不了、然后谷歌一查原来豆瓣采取了防盗链。
问题很简单,就是我希望在自己的页面里用 \<img src=”xxxx” \/> 来引用其他网站的一张图片,但是他的网站设置了防盗链的策略,会在后台判断请求的Referrer属性是不是来自于一个非本域名的网站,如果来源不是本域名就返回 403 forbidden。我的目的就是用最方便的方法使得我的页面能够不受他的防盗链策略的影响。
解决的方案
1.使用后台的预下载(把图片下载下来放到服务器下)
缺点: 占用服务器的空间,访问速度没有豆瓣提供的稳点。有些网站是静态的如 hexo 就无法实现。
2.第三方代理
缺点: 不稳点,第三方代理可能在国内访问不稳定,在国内没有好的推荐。也可以自己做一个代理,之前有人用 GO 做过一个。
下面有一个,url 后面填上豆瓣 Api 返回的图片地址
\<img src=”" \/>
3.还有一种比较友好和奢侈的,上传 CDN 调用 CDN 的地址,
缺点: 有点奢侈,因为所有图片都存到 CND 占用大量空间,CND 可能需要钱购买,CND 服务商提供图片上传的 API
4.删除 Header 中的 Referrer
<meta name="referrer" content="never">
content 有四个值可以选择 never,always,origin,default 这是来自于 whatwg 标准,浏览器对他的支持还是很好的。
MDN 标准,还多了一个 no-referrer
5.添加 ReferrerPolicy 属性
添加 meta 标签相当于对文档中的所有链接都取消了 referrer,
而R eferrerPolicy 则更精确的指定了某一个资源的referrer策略。
关于这个策略的定义可以参照MDN。比如我想只对某一个图片取消referrer,如下编写即可:
<img src="xxxx.jpg" referrerPolicy="no-referrer" />

111
回复

使用道具 举报

3

主题

493

积分

0

精华

用户组 

易积分
2505
热心
0
好评
0
发表于 2020-7-11 11:55:46 | 显示全部楼层
就来看看了
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

2

主题

56

积分

0

精华

用户组 

易积分
3
热心
0
好评
0
发表于 2020-7-16 15:46:13 | 显示全部楼层
可以
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2025-5-7 20:12 , Processed in 0.108123 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部