于是2020年9月上旬,我启用另一套主题并因为开错了实例导致leancloud欠费,此处可参见《为Hexo博客Valine评论启用邮件通知
新开账户后发现leancloud的数据库中没有IP这列数据,于是想到可能是信主题配置中关闭了记录评论者的IP,为了验证到底是不是这个引起了,删除了Comment这个表,开启后发现IP无法正常记录,也就是在数据库中看不到评论者的IP,显示为(undefined),于是又测试了之前那套主题,结果依旧,为了避免是国际版导致的问题,特意切换到国内的leancloud版本,还是一样。
为了验证不是我独有的问题,看了一个别人的博客,发现IP都显示为10开头的本地局域网IP,因此我不知道这中间到底经历了什么,但还是推荐你检查一下,如果有IP这列数据,根据文章末尾的方法进行勾选。

Valine评论系统IP邮箱泄露问题

Valine评论系统一直都挺好用的,是大多数静态站点首选的评论系统,比如Hexo,Hugo等。并且不少主题都集成了此功能,轻量化,没有多余的修饰,。用LeanCloud的数据库存储评论,要修改评论或者删除评论,直接登录LeanCloud操作数据库即可完成,这意味着所有的评论数据是完全掌握在自己手里。

但前几天无意间看到Valine评论系统关于隐私的问题,当时也没怎么在意,今天进入了某个Gridea生成的站点,下面有不少评论,就想起了前些天的看到关于Valine评论的问题。

于是就试试看,果不其然,发现问题有点严重,如果会写爬虫的话,爬一下这些数据,能收集不少信息呢。尽管这些信息看起来不是那么致命的,主要是邮箱,IP地址这两项问题。

Valine评论系统IP邮箱泄露

之前我并不知道存在这个问题,也一直习惯不填写邮箱评论,这就是Valine评论系统的有点,甚至都无需填写用户名,直接评论即可提交。在问题没有解决之前,还是建议每一个在Valine上面评论的留言者直接随意命名个昵称即可,如果你不介意IP被泄露的话。

只有这样才可把风险降到最低,特别是图中的留言者,填写的还是QQ邮箱,相当于把IP和QQ告诉人家了,还是谨慎点为好。

目前在最新的 1.4.14版本还是存在这个问题的。Github也有人反馈了此问题,暂没见官方回应,不知道下个版本会不会解决此问题。否则,还真没有较好的评论系统,来必力在韩国,加载稍微有些慢,需登录账户评论。虽然可以支持多种登录方式(如QQ,微博,微信,百度,豆瓣),还有些也都是需要账户的,如果不是程序员或者IT从业者,普通人根本就没有这些账户,实在是提高了评论的门槛。

Valine评论系统IP邮箱泄露解决方法

刚刚又去看了一眼Github Issues发现有回应,其解决方法如下:

访问 LeanCloud 控制台 > 存储 > 结构化数据
选择 Comment Class,分别点击 mail 和 ip 相应字段的下拉菜单,选择编辑
勾选”客户端不可见”后,客户端发起查询的时候,返回的结果将不包含这个字段
注意
如果设置 mail 客户端不可见,将不会显示评论者的 Gravatar,转为显示默认头像。
目前想到的办法是新增一个可见字段存储 mail 的 MD5,需要改 Valine 源码,还需要处理现有数据。

进入控制台找到后发现无法改动,第一反难道又是节点问题?第二反应是浏览器兼容性问题?后来自己研究了下,发现是LeanCloud控制台的版本问题,在右上方的帮助下关掉新版即可解决。