用php實(shí)現(xiàn)讓頁(yè)面只能被百度gogole蜘蛛訪問的方法
更新時(shí)間:2009年12月29日 00:08:10 作者:
用php實(shí)現(xiàn)讓頁(yè)面只能被百度gogole蜘蛛訪問的方法,需要的朋友可以參考下。
普通用戶與搜索引擎蜘蛛爬行的區(qū)別在于發(fā)送的user agent,
看網(wǎng)站日志文件能發(fā)現(xiàn)百度蜘蛛名字包含Baiduspider, 而google的則是Googlebot, 這樣我們可以通過判斷發(fā)送的user agent來決定要不要取消普通用戶的訪問,編寫函數(shù)如下:
function isAllowAccess($directForbidden = FALSE) {
$allowed = array('/baiduspider/i', '/googlebot/i');
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$valid = FALSE;
foreach ($allowed as $pattern) {
if (preg_match($pattern, $user_agent)) {
$valid = TRUE;
break;
}
}
if (!$valid && $directForbidden) {
exit("404 not found");
}
return $valid;
}
在要禁止訪問的頁(yè)面頭部引用這個(gè)函數(shù)來做判斷就ok了,如下倆中調(diào)用方式:
if (!isAllowAccess()) {
exit("404 not found");
}
//或者
isAllowAccess(TRUE);
看網(wǎng)站日志文件能發(fā)現(xiàn)百度蜘蛛名字包含Baiduspider, 而google的則是Googlebot, 這樣我們可以通過判斷發(fā)送的user agent來決定要不要取消普通用戶的訪問,編寫函數(shù)如下:
復(fù)制代碼 代碼如下:
function isAllowAccess($directForbidden = FALSE) {
$allowed = array('/baiduspider/i', '/googlebot/i');
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$valid = FALSE;
foreach ($allowed as $pattern) {
if (preg_match($pattern, $user_agent)) {
$valid = TRUE;
break;
}
}
if (!$valid && $directForbidden) {
exit("404 not found");
}
return $valid;
}
在要禁止訪問的頁(yè)面頭部引用這個(gè)函數(shù)來做判斷就ok了,如下倆中調(diào)用方式:
復(fù)制代碼 代碼如下:
if (!isAllowAccess()) {
exit("404 not found");
}
//或者
isAllowAccess(TRUE);
您可能感興趣的文章:
- php實(shí)現(xiàn)計(jì)算百度地圖坐標(biāo)之間距離的方法
- PHP計(jì)算百度地圖兩個(gè)GPS坐標(biāo)之間距離的方法
- php生成百度sitemap站點(diǎn)地圖類函數(shù)實(shí)例
- php+ajax做仿百度搜索下拉自動(dòng)提示框(有實(shí)例)
- PHP獲取搜索引擎關(guān)鍵字來源的函數(shù)(支持百度和谷歌等搜索引擎)
- 用php實(shí)現(xiàn)百度網(wǎng)盤圖片直鏈的代碼分享
- php使用百度天氣接口示例
- php獲取從百度搜索進(jìn)入網(wǎng)站的關(guān)鍵詞的詳細(xì)代碼
- php使用百度翻譯api示例分享
- php實(shí)現(xiàn)批量下載百度云盤文件例子分享
- phpsir 開發(fā) 一個(gè)檢測(cè)百度關(guān)鍵字網(wǎng)站排名的python 程序
- php+js實(shí)現(xiàn)百度地圖多點(diǎn)標(biāo)注的方法
相關(guān)文章
php PDO實(shí)現(xiàn)的事務(wù)回滾示例
這篇文章主要介紹了php PDO實(shí)現(xiàn)的事務(wù)回滾功能,結(jié)合具體實(shí)例形式分析了php基于PDO操作實(shí)現(xiàn)事務(wù)回滾功能的相關(guān)SQL語(yǔ)句與操作技巧,需要的朋友可以參考下2017-03-03
PHP實(shí)現(xiàn)UTF8二進(jìn)制及明文字符串的轉(zhuǎn)化功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)UTF8二進(jìn)制及明文字符串的轉(zhuǎn)化功能,涉及php進(jìn)制及編碼轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
PHP將二維數(shù)組某一個(gè)字段相同的數(shù)組合并起來的方法
這篇文章主要介紹了PHP將二維數(shù)組某一個(gè)字段相同的數(shù)組合并起來的方法,涉及PHP多維數(shù)組操作的相關(guān)技巧,需要的朋友可以參考下2016-02-02
PHP中 empty() 和 isset() 的區(qū)別介紹
作為PHP中經(jīng)常用來判斷變量是否為空的函數(shù):empty()和isset() ,二者其實(shí)在很多方面還是存在區(qū)別的,本文將為大家詳細(xì)介紹一下他們的區(qū)別之處,需要的朋友可以了解一下2021-12-12
php單態(tài)設(shè)計(jì)模式(單例模式)實(shí)例
這篇文章主要介紹了php單態(tài)設(shè)計(jì)模式(單例模式)實(shí)例,單態(tài)模式的主要作用是保證在面向?qū)ο缶幊淘O(shè)計(jì)中,一個(gè)類只能有一個(gè)實(shí)例對(duì)象存在,需要的朋友可以參考下2014-11-11
windows中PHP5.2.14以及apache2.2.16安裝配置方法
windows中PHP5.2.14以及apache2.2.16安裝配置,需要配置php運(yùn)行環(huán)境的朋友可以參考下。2010-09-09

