discuz防灌水机制

    最近论坛频遭灌水机灌水,在不影响用户体验的情况下,需设计一个防灌水机制。以下是本人的方法,能有效防止相当一部分灌水。

1. 由于discuz自带的验证码已被破解,最好另外弄个验证码类,验证码最好是扭曲字体,而且字母与字母间最好能镶嵌,同时有随机连线把字符连起来(曲线和字符都是同种颜色的),这样会大大增加破解验证码的难度;

 

2. 设置关键字过滤(此法会影响发帖速度,注意);

 

3. 发帖内容对比 MD5特征库,与库中记录一致的,则是灌水帖.(MD5特征库是新增数据表,只有一个字段:帖子内容的md5字符)


4. 发帖内容对比自己之前发过的帖子(此处有两个步骤,第一步:截取上次帖子的前N个字符,和这次帖子的前N个字符做对比,假如一致,则是灌水帖;第二步:使用编辑距离算法判断与前一次帖子的相识度,超过设定的阀值则当做灌水帖),如果是灌水帖,则把帖子内容经MD5转换,插入MD5特征库。


5.  成功发布。

 

对于被认为是发灌水帖的用户,可以采取相应的封IP, 禁言等操作。

 

此处仅是抛砖引玉,希望大家分享下还有什么方法能有效防止灌水机。

你可能感兴趣的:(discuz)