Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 【www.aixiagame.com首发教程】discuz!x3.4全站清空短消息!全站清空短消息最新方法!

[复制链接]
qxyhuiyuan 发表于 2020-6-14 01:53:59 | 显示全部楼层 |阅读模式
本帖最后由 qxyhuiyuan 于 2020-6-14 02:08 编辑

上次我们说到那个防止被刷取回密码邮箱的问题,这回我们看这个短消息问题。
你是否遇到过论坛内马甲成员大量私发广告短消息的困惑?比如下面这个马甲:



发贴子你有审核功能,但是短消息没有,而且后台不方便批量删除,你总不能全站不让发短消息吧,这不现实,毕竟连自己都要给成员发短消息,所以呢?我们可以隔一段时间来一次全站清空短消息,降低无用数据占有量。

那么问题来了,我们如何对discuz!论坛进行全站清空短消息呢?这里以Discuz! X3.4 R20191201 UTF-8版本为例:
有两种方法:

第一种方法:论坛后台SQL语句。
首先在你的文件管理内,找到论坛配置文件config_global.php,我们点编辑

翻到最下面和后台管理员ip检测靠在一起的配置代码
$_config[admincp][runquery]这个后面把0改为1开启论坛允许使用SQL语句。
做好了这一点后,我们就可以在后台-站长-数据库-升级,这个里面输入一下SQL语句运行:
DELETE FROM `pre_ucenter_pm_indexes` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_lists` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_members` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_0` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_1` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_2` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_3` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_4` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_5` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_6` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_7` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_8` WHERE 1=1 ;
DELETE FROM `pre_ucenter_pm_messages_9` WHERE 1=1 ;
注意:这里要把DELETE FROM `pre_ucenter_pm_indexes` WHERE 1=1 ;这个语句加上,不然你会发现内容清空了但是还会显示有短消息记录。和下面图中13年的方法不一样了!

运行后保存,再工具-更新缓存就可以了,最后把$_config[admincp][runquery]恢复默认0
建议用第二种方法迅速稳定。
第一种方法适合新站,数据库内容不多的,如果数据内容多,你会发现非常缓慢,为什么呢?
如图:


第二种方法:用数据库管理工具直接处理。
delete英文意思是删除,而在SQL语句中只是清空数据表内容意思,不是删除数据表,不懂编程的要注意


首页我们打开phpmyadmin数据库管理工具,点击自己的数据表,翻到第二页

然后找到并且选中第一步里面的十三个数据表,展开选中页,点击清空不要点删除,点击清空不要点删除,点击清空不要点删除,重要的事情说三遍!


最后点是,提交运行就完成了,到此全站短消息被删除。

如果有什么新方法、好方法,欢迎大家留言,给予遇到的人帮助,先就这样吧,祝大家大吉大利、万事顺心。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
allthebest 发表于 2020-6-14 03:12:36 | 显示全部楼层
本帖最后由 allthebest 于 2020-6-13 19:14 编辑

不让新注册使用短消息功能;
老用户,要先成为好友才接收短消息即可。
回复

使用道具 举报

baxter 发表于 2020-6-14 15:07:15 | 显示全部楼层
设置新注册用户5天后才可发消息就好
回复

使用道具 举报

hm1029 发表于 2020-6-14 21:20:12 | 显示全部楼层
这么删会出错的。不能简单的这样处理
回复

使用道具 举报

hm1029 发表于 2020-6-14 21:24:20 | 显示全部楼层
实际上在uc_pm_messages_n这个表里面的delstatus字段,是定义短信删除状态的。删除状态 1发起者删除, 2他人删除
回复

使用道具 举报

howfarstudio 发表于 2020-6-14 21:57:43 | 显示全部楼层
allthebest 发表于 2020-6-14 03:12
不让新注册使用短消息功能;
老用户,要先成为好友才接收短消息即可。

+10086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-24 17:57 , Processed in 0.017597 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表