hexo 加密
插件安装
npm install --save hexo-blog-encrypt
快速使用
该插件的使用也很方便,这里我仅作简单介绍,详细的可以查看官方文档。 D0n9X1n/hexo-blog-encrypt: Yet, just another hexo plugin for security.
要为一篇文章添加密码查看功能,只需要在文章信息头部添加 password 字段即可:
1 | --- |
全局加密配置
分别为每篇文章设置密码,虽然很灵活,但是配置或者修改起来非常麻烦。为此,可以通过设置统一配置来实现全局加密。
通过添加指定 tag 的方式,可以为所有需要加密的文章添加统一加密操作。只需要在需要加密的文章中,添加设置的 tag值 即可。
在Hexo主配置文件 _config.yml 中添加如下配置:
1 | Security |
之后,需要清除缓存后重新生成 hexo clean && hexo s -g
。
其中的 tag 部分:
1 | tags: |
表示当在文章中指定了 private 这个 tag 后,该文章就会自动加密并使用对应的值 hello 作为密码,输入密码后才可查看。
相应的文章头部设置:
1 | --- |
在全局加密配置下禁用某些文章的加密
可能有这样的情况,属于 private 标签下的某篇文章在一段时间内想要开放访问。如果在描述中加上密码提示: 当前文章密码为xxx,请输入密码后查看 ,来让用户每次查看时都要先输入密码后再查看,这样的操作又会给访客带来不便。
这时可以单独设置允许某篇文章不设置密码。
只需要在使用 加密tag 的前提下,结合 password 来实现即可。在博客文章的头部添加 password 并设置为 “” 就能取消当前文章的 Tag 加密。
相应的设置示例如下:
1 | --- |
在全局加密配置下设置非全局密码
在全局加密配置下,我们可以通过设置多个 加密tag 来为多篇不同类型的文章设置相同的查看密码:
1 | tags: |
那么可能有这样的场景:
属于 private 标签下的某篇文章想要设置成不一样的密码,防止用户恶意通过一个密码来查看同标签下的所有文章。此时,仍可以通过 password 参数来实现:
1 | --- |
说明:
该文章通过tag值 private 做了加密,按说密码应该为 hello ,但是又在信息头中设置了 password ,因为配置的优先级是 文章信息头 > 按标签加密,所以最后的密码为 buyiyang 。