现在网上有一大堆所谓的营销软件,会自动搜索并注册你的网站会有,然后发布垃圾信息,即使你使用了邮箱验证也很难避免,因为对方邮箱也是自动注册的也是真实的,其注册与发布速度非常惊人,可能一夜之间你的网站就被发布几百上千篇垃圾文章,因此我们需要防范这种情况出现。
以下是测试在最新的Dedecms5.7上成功的防止恶意注册的方法:
防止恶意注册
打开/member/reg_new.php,
找到
if($dopost=='regbase') {在其下添加如下代码:
if($reg_ha != '奔牛网') { ShowMsg('请正确输入本网站名,本网站名为<font color=red><b>奔牛网</b></font>','-1'); exit(); }然后打开/member/templets/reg-new.htm,在
<li><span>验证码:</span>上添加:
<li> <span>随机问题:</span> <input type="text" class="intxt w200" style="width: 100px;" name="reg_ha" size="25" maxlength="15" value="请输入本网站名" onfocus="if (this.value=='请输入本网站名')this.value=''" onblur="if (this.value=='')this.value='请输入本网站名'"> <i class="red">*</i> <em id="_reg_answer">本网站名为:<font color=red><b>奔牛网</b></font>(请将<font color=red><b>奔牛网</b></font>输入到左边文本框</em>中) </li>防范措施做完,接下来开始清理被批量注册的垃圾会员和垃圾文章
批量删除垃圾会员的办法,可以通过dedecms后台自带的sql命令行工具执行SQL命令即可,方法如下:
后台-系统-sql命令行工具:
如果是要删除管理员以外的其他所有会员,则SQL命令如下:
delete from dede_member where not mid='1'前提是你的管理员id为1,一般默认情况下id为1的即为管理员用户,所以上述代码保留了mid为为1的用户。另外,如果你需要删除某一范围的会员,则代码如下:
delete from dede_member where mid between 2 and 10000命令很简单一看就懂,删除mid从2到10000的会员。这里不多列举了,你可以根据自己的需要进行条件筛选删除。
批量删除垃圾文章
批量删除垃圾文章的方法跟批量删除垃圾会员的方法差不多,通过执行SQL命令即可,一般地会员投稿后默认为待审核状态,因此,如果需要删除这些垃圾文章,我们只需要通过执行SQL命令来删除待审核的文章就行,SQL命令如下:
delete from dede_archives where arcrank=-1提示运行成功后,就可以把垃圾会员及其发布的垃圾文章快速删除了