本文目錄一覽:
求一段PHP代碼 ,判斷百度蜘蛛的來路的
普通用戶與搜索引擎蜘蛛爬行的區別在於發送的user agent
百度蜘蛛名字包含Baiduspider, 而google的則是Googlebot, 這樣我們可以通過判斷發送的user agent來決定要不要取消普通用戶的訪問,編寫函數如下:
function isAllowAccess($directForbidden = false,$url) {
$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) {
header(‘location:’.$url);
}
return $valid;
}
望採納 Thx
根據來路判斷require調用的問題 PHP高手來
這個要用到全局變數$_SERVER[‘HTTP_REFERER’]
?php
if( stristr ($_SERVER[‘HTTP_REFERER’],”baidu.com”)) {
require(‘./baidu.php’);
}else {
require(‘./header.php’);
}
?
這個是簡易的,分數不多就這個意思
php如何指定來路訪問
可以在A頁面生成一個隨機數,並加入去B頁面的鏈接中,在進入B頁面的時候,第一時間去驗證隨機數的正確性,如:
// a.php
$number = rand(0, 999);
$_SESSION[‘number’] = $number;
$url = “./b.php?number=$number”;
echo “a href='”. $url .”‘b.php/a”;
// b.php
$_GET[‘number’] == $_SESSION[‘number’] OR exit(‘請先訪問b.php!’);
echo ‘歡迎來到我的網站’;
php獲取來路並跳轉怎麼寫?
$url = $_SERVER[‘SCRIPT_URI’].’?’.$_SERVER[‘QUERY_STRING’];
#這兩個拼接,能獲取完整的url
if (strpos($url,’abc’)!==false || strpos($url,’def’)!==false)
{
Header(”);
}
PHP獲取來路域名
$url = $_SERVER[“HTTP_REFERER”]; //獲取完整的來路URL
$str = str_replace(“http://”,””,$url); //去掉http://
$strdomain = explode(“/”,$str); // 以「/」分開成數組
$domain = $strdomain[0]; //取第一個「/」以前的字元
用上面的方法才準確無誤,如果你用PHP自帶的函數就不對如:
$_SERVER[‘SERVER_NAME’] 這個函數它獲取的是伺服器域名
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/204293.html