Roller如何拒绝恶意评论

如何界定恶意评论?Roller使用三个变量来判定,分别是:

1、用户的ip;

2、单位时间;

3、单位时间内评论的最大次数;

 

 如果某个ip在单位时间内评论的次数大于指定的值,则将此ip加入黑名单。

 

实现过程如下:

在Roller中,关于评论处理是通过一个CommentServlet来处理的,CommentServlet在握住一个GenericThrottle对象,CommentServlet初始化时,读入上面所说的两个变量:单位时间和最大评论次数。

 

GenericThrottle类的作用是创建一个缓存,将每次提交的请求根据ip地址记录一次,并累计和缓存起来。

 

CommentServlet根据GenericThrottle的累计和处理结果,见ip加到黑名单中。

 

那么如何将ip加入到黑名单中呢?IPBanList类是做这个工作的。IPBanList在初始化的时候会读入一个配置项,根据此配置项读写一个文本文件。如果这个文件不存在或者不能读,则前面的逻辑都没有效了。

 

IPBanList有一个添加黑名单的方法和一个判断某个ip是否在黑名单中的方法。

 

加入某个ip已经被加到黑名单中了,Roller如何来防止这个ip再提交请求呢?IPBanLifter类会拦截所有关于评论的请求,如果这个ip再提交这个过滤器将立即跳到错误页面。

 

完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值