起因

2021年11月28日,我的评论系统收到一个匿名的攻击评论。IP是南昌县的,UA返回其客户端是一部华为P20手机上的百度APP,可以确定是原2021级4班的某个男生。

rt.

事情发生后,本站评论系统关闭四天。之后重新部署了Waline并开启了审核。

但这就带来一个问题——每次审核评论需要时间,但在这个站点经常评论的也就友人帐那几个人,都要等待人工审核的话会很麻烦。

我也思考了很多解决方法,比如自己写一个基于表单和E-mail的评论系统,但实现起来也是一件麻烦的事。

只能自己动手丰衣足食了。

成果

LWAR

Leancloud Waline Audit Robot

(写了这么多还是不会有人来Fork或者Star)

原理

根据已有的评论数据筛选出Email的黑白名单,然后根据名单审核新评论。

因为没有Hooks以及个人能力所以还是得像前面做出来的东西一样挂在一台电脑或者服务器上运行,程序定期重启。

部署

项目页

(待完善)

开发日志

1月25日

  • 开始开发

1月26日

  • 进度:支持读取Leancloud结构化数据

1月27日

  • 解决问题:拒绝写入Leancloud数据库

    造成这个问题的原因是Valine-Admin对评论写入的权限为只读

  • 基本完成

1月28日

  • 加入日志系统
  • 加入异常处理

1月29日

  • 上线

  • 问题:网络不稳定极其容易造成连接超时,进而程序崩溃。

    解决:优化异常处理