Discuz3的表结构

清理Discuz空间的最近访客、广播、通知等垃圾信息的方法

如果Discuz论坛偶尔被恶意注册,会留下恶意注册者的访客记录:

清理Discuz空间的最近访客、广播、通知等垃圾信息的方法
如何清除Discuz空间最近访客

一般情况下,大家解决方法如下:

1、全局-》空间设置-》隐私设置,此项全部设置为:仅注册用户可见。

2.全局-》站点功能-》功能模块:开启“广播”功能。

但是这样对以后可能有用,即使删除这个用户,但是当前的最近访客记录还在。

临时解决方案就是从数据库里删掉

切记操作前备份数据啊!!

select * from pre_home_visitor where vuid=垃圾用户的uid;

或者如下图根据垃圾用户名搜索:

清理Discuz空间的最近访客、广播、通知等垃圾信息的方法
干掉最近访客sql语句

查到访客记录在 pre_home_visitor 表里,表结构很清晰,一看就明白。删除vuid为垃圾用户的记录就可以了:

mysql> delete from pre_home_visitor where vuid=8983;
Query OK, 124 rows affected (0.01 sec)

还有另外一种恶心的情况,就是广播:
http://youdomain/home.php?mod=follow&do=follower

清理Discuz空间的最近访客、广播、通知等垃圾信息的方法
清理广播记录

广播的表是pre_home_follow 这个表,清理动作:(记得数据备份!)

mysql> delete from pre_home_follow where uid=垃圾用户的uid;
Query OK, 1386 rows affected (0.00 sec)

清理通知,比如xxx收听了您,点击查看,这些都是垃圾信息可以清理:

delete from pre_home_notification where from_id=垃圾用户的uid;

还有其它可以清理的表,参考以下文章: