使用LeanCloud对Hexo构建的博客配置统计功能

重大更新

由于NexT主题使用的Leancloud访客统计插件存在重大安全漏洞,拥有不良企图的人利用该漏洞可随意更改访客数量或一定程度上增删数据库记录。请根据下面的链接对其做相应的修改。

https://leaferx.online/2018/02/11/lc-security/

最近使用的hexo+NexT搭建博客,在搭建的过程中有各种问题,之后会一一列出,这篇文章先讲一下阅读统计的相关问题

配置LeanCloud

之前使用LeanCloud进行移动端网络数据库的配置和开发,在配置博客的过程中发现hexo可以使用它来进行阅读统计,下面跟着我来进行配置。前提是您已经有Leancloud的账号。

创建应用

  • 首先我们先新建一个应用专门进行博客的访问统计,首先打开控制台创建应用:

1.png

  • 点击进入创建的应用

2.png

  • 创建一个类

3.png

  • 点击创建Class之后,但是为了保证我们前面对NexT主题的修改兼容,此处的新建Class名字必须为Counter:
  • 由于LeanCloud升级了默认的ACL权限,如果你想避免后续因为权限的问题导致次数统计显示不正常,建议在此处选择无限制

4.png

  • 选择左侧的应用Key选项,即可发现我们创建应用的AppID以及AppKey,有了它,我们就有权限能够通过主题中配置好的Javascript代码与这个应用的Counter表进行数据存取操作了:

5.png

  • 复制AppID以及AppKey并在NexT主题的_config.yml文件中我们相应的位置填入即可
1
2
3
4
leancloud_visitors:
enable: true
app_id: <#app_id#>
app_key: <#app_key#>

这个时候重新生成部署Hexo博客,应该就可以正常使用文章阅读量统计的功能了。需要特别说明的是:记录文章访问量的唯一标识符是文章的发布日期以及文章的标题,因此请确保这两个数值组合的唯一性,如果你更改了这两个数值,会造成文章阅读数值的清零重计。

后台管理

当你配置部分完成之后,初始的文章统计量显示为0,但是这个时候我们LeanCloud对应的应用的Counter表中并没有相应的记录,只是单纯的显示为0而已,当博客文章在配置好阅读量统计服务之后第一次打开时,便会自动向服务器发送数据来创建一条数据,该数据会被记录在对应的应用的Counter表中。

6.png

我们可以修改其中的time字段的数值来达到修改某一篇文章的访问量的目的(博客文章访问量快递提升人气的装逼利器)。双击具体的数值,修改之后回车即可保存。

  • url字段被当作唯一ID来使用,因此如果你不知道带来的后果的话请不要修改。
  • title字段显示的是博客文章的标题,用于后台管理的时候区分文章之用,没有什么实际作用。
  • 其他字段皆为自动生成,具体作用请查阅LeanCloud官方文档,如果你不知道有什么作用请不要随意修改。

Web安全

因为AppID以及AppKey是暴露在外的,因此如果一些别用用心之人知道了之后用于其它目的是得不偿失的,为了确保只用于我们自己的博客,建议开启Web安全选项,这样就只能通过我们自己的域名才有权访问后台的数据了,可以进一步提升安全性。

选择应用的设置的安全中心选项卡:
7.png

Web 安全域名中填入我们自己的博客域名,来确保数据调用的安全

如果你不知道怎么填写安全域名而或者填写完成之后发现博客文章访问量显示不正常,打开浏览器调试模式,发现如下图的输出:

8.png

这说明你的安全域名填写错误,导致服务器拒绝了数据交互的请求,你可以更改为正确的安全域名或者你不知道如何修改请在本博文中留言或者放弃设置Web安全域名。

本文作者: 夏末
本文链接: https://notes.wanghao.work/2015-10-21-为NexT主题添加文章阅读量统计功能.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!