phpでロボットかどうか判定する

black and silver laptop computer on table

PHPでロボット(クローラーやスパイダー)かどうかを判定するには、HTTPヘッダーからUser-Agentを取得することが一般的です。

以下は、PHPでUser-Agentを取得するコード例です。

php
$user_agent = $_SERVER['HTTP_USER_AGENT'];

次に、取得したUser-Agentがロボットであるかどうかを判定するために、正規表現を用いることができます。一般的に、クローラーやスパイダーのUser-Agentには、”bot”や”crawler”などのキーワードが含まれることが多いため、これらのキーワードを含む場合はロボットと判定することができます。

以下は、User-Agentがロボットであるかどうかを判定するコード例です。

php
$is_robot = false; if (preg_match('/bot|crawler/i', $user_agent)) { $is_robot = true; } if ($is_robot) { // ロボットである場合の処理 } else { // ロボットでない場合の処理 }

上記のコードでは、preg_match関数を使って、User-Agentが”bot”や”crawler”という文字列にマッチするかどうかを判定しています。マッチする場合は$is_robot変数にtrueがセットされ、ロボットであると判定されます。マッチしない場合は$is_robot変数にfalseがセットされ、ロボットでないと判定されます。

このようにして、PHPでロボットかどうかを判定するスクリプトを作成することができます。

しゅう
しゅう

主に技術系の内容を書いています m(_ _)m

記事本文: 36

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です