Skip to content

图片加cdn并解决图床防盗链

以前说到免费图床,就不得不提到新浪微博图床。

对于大多数个人博客维护者而言,免费的图床即使节省成本,也能够提升页面访问速度的最佳手段,而新浪微博图床则成了首选。

新浪微博图床具备全网 CDN 加速,支持 HTTPS,速度很不错,并且大厂不会随便删资源,妥妥的稳字当头。

隐约记得在 2019 年的时候,微博图床就添加了防盗链,然后其他的互联网大厂也陆陆续续添加了防盗链,就连 gitee 也在今年添加了防盗链。

微博图床直接打开图片地址可以访问,但是带上 referer 头就禁止访问 403 了。

在对比失效的图标在浏览器可以正常访问的图标Request Headers后,我发现,失效的图标请求头中多了个referer标头,是不是意味着,服务端校验了referer请求头,发现请求头不是来源于该本站,便拒绝访问呢?

后来发现了一个不但解决了防盗链问题,并且能添加全国200多个cdn节点的加速,而且还是开源产品。 详情请👉github

使用

使用方法也很简单,比如我现在有一个已经无法使用的防盗链图片链接:https://wx2.sinaimg.cn/orj360/415f82b9ly1h59oqn5sl1j20jg0jawn9.jpg

只需要把在图片链接前面加上//images.weserv.nl/?url=即可(//如果你的站点是https,图片就会走https协议,和站点的协议是一致的)

最终结果为://images.weserv.nl/?url=https://wx2.sinaimg.cn/orj360/415f82b9ly1h59oqn5sl1j20jg0jawn9.jpg

这样就可以使用防盗链的图片,但是如果以为这个开源项目的作用只有这一个,那就错了

修改图片属性

上方的链接还可以加上参数实现修改图片的属性,比如图片的宽高

宽高

如果想返回一个高度300,宽度300的图片,只需要//images.weserv.nl/?url=https://wx2.sinaimg.cn/orj360/415f82b9ly1h59oqn5sl1j20jg0jawn9.jpg&w=300&h=300

像素比

在链接后面加上&dpr=,等号后面填入0-8之间的数值就行

更多

想要更多好玩的参数,可以翻阅文档

/src/miscellaneous/img-add-cdn.html