小编经常遇到客户的论坛被刷会员或者被会员们大量的刷垃圾帖子,经常建站的站长朋友们都了解网站被刷帖子之后很麻烦,不仅网站上有很多垃圾帖子信息,数据库也会被刷满。导致网站无法正常运行。一般这种情况下站长们都会想尽办法去加验证码,过滤垃圾信息等来垃圾拦截垃圾帖子。今天小编刚打开电脑,一位站长朋友来联系小编说是用PHP空间安装的织梦dedecms程序,最近发现很多会员发的重复文章。小编还以为是被挂黑链了,因为dedecms这款程序漏洞多也是众所周知的了。打开这位站长的网站才发现都是垃圾文章并且很多重复的。熟悉dedecms程序都知道这款程序的后台是有个过滤功能的,只要设置了,就是当文章的题目重复时是不可以发表成功的,可是后台的这个重复检测功能根本就没用。小编通过查阅资料和向程序员朋友请教找到了处理的方法。 处理的思路:当会员发布好了文章,在点击保存发布按钮之前,让程序自动执行检查下这篇文档和数据库已经存的文档是否有相同的,也就是做出个判断,若相同则发布失败,不同通过发布。 具体的处理方法如下: 首先连接到空间的FTP,按照目录路径:dede/article_add.php文件。使用高级编辑器找到71行代码:
if(empty($click)) $click = ($cfg_arc_click=='-1' ? mt_rand(50, 200) : $cfg_arc_click);在这行代码下添加以下代码: if($cfg_mb_cktitle=='Y'){$row = $dsql->GetOne("Select * From `inyhow_archives` where title like '$title' ");if(is_array($row)){ShowMsg("亲,很抱歉,请不要发布重复文档!","-1");exit();}}
添加后保存再上传覆盖之前的程序文件。当修改好再登陆dedecms后台更新下系统缓存。这个时候会员再发布相同内容的文章的时候就不会发布成功了。以上步骤就是Dedecms如何修改程序文件达到让会员无法发布重复文章的方法了。