一般のユーザーと検索エンジンのスパイダー クローラーの違いは、送信されるユーザー エージェントです。
Web サイトのログ ファイルを見ると、Baidu スパイダーの名前には Baiduspider が含まれていることがわかりますが、Google のスパイダー クローラーは Googlebot であるかどうかを判断できます。一般ユーザーのアクセスをキャンセルするには、次のように関数を記述します:
コードをコピー コードは次のとおりです。 :
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 ;
}
アクセスを禁止するには ページのヘッダーにあるこの関数を参照して判断しても大丈夫です:
コードをコピーします コードは次のとおりです。
if (!isAllowAccess()) {exit("404 not found"); }
//または
isAllowAccess(TRUE);