阿星的博客

巧用七牛空间,今天为 php-mdblog 里加上了原图保护功能

前言

其实个人博客的图片有没有保护原图,至少我这里是打个问号的,不过作为技术研究一下也不错。

七牛的镜像空间

一切的根源还要从七牛的镜像存储功能说起,本来呢七牛空间就支持 10G 的每月免费流量,我一直用着做做开发测试,最近在折腾这个博客嘛,就顺手用上了。链接

七牛的镜像存储支持自动镜像调用原站文件。

比如 原站是:http://wanyaxing.com/2018-08-04_14_30_40.gif,你可以在空间里设定镜像源http://wanyaxing.com/,这样访问http://cdn.wanyaxing.com/2018-08-04_14_30_40.gif即可自动映射源站文件并使用七牛空间的流量供外界访问了。 Snipaste_2018-08-06_18-01-11.png

如果不做原图保护的话,就如上文所说,直接 a.com 对应 b.com 就完事了。

原图保护

七牛提供原图保护功能,简单说就是,开启原图保护后,不可以直接访问源文件,必须要带上样式访问文件,如果你在样式里设定水印,这不就是原图保护了嘛。 Snipaste_2018-08-06_18-14-00.png

源站资源保护

然而,如果有人直接访问源站的资源呢?

所以,我在php-mdblog里,为文件资源加上了访问限制,所以,外界访问,必须使用/download/username/password/这样的前置路径才可以访问到真实文件。

所以,我在七牛空间里设定相对路径时,也要设定相对的路径。

比如 原站是:http://wanyaxing.com/blog/post/20180804135638.mac/2018-08-04_14_30_40.gif,你可以在空间里设定镜像源为http://wanyaxing.com/blog/download/admin/123456/,这样访问http://cdn.wanyaxing.com/post/20180804135638.mac/2018-08-04_14_30_40.gif-default_water即可自动映射到源站文件了。

总结

也就是说,

  • 源站的资源必须要在路径里提供认证信息才能访问。
  • 认证信息你可以在七牛设置里设定到镜像源中。
  • 七牛空间开启原图保护
  • 七牛对外也只提供带样式的访问方式。

这样层层把关,一个原图保护功能就这么悄无声息的实现了。

后语

在博客的服务器硬盘里,原图仍然静悄悄地躺着,写博客时,也不用费心考虑水印的事儿。

这就是懒的动力啊。

原文来自阿星的博客:https://wanyaxing.com/blog/20180806175408.html

X