人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Googleのボットの見分け方で下記を教えてもらったのですが

http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=80553

これをPHPで制御するにはどのような書き方をすればよいでしょうか?
※偽装が通じない方法をお願いいたします。

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●50ポイント

http://smbrown.wordpress.com/2009/04/29/verify-googlebot-forward-reverse-dns/
上記のページに期待するであろう PHP の関数のコードがあります。

tdoi さんがコメントで書かれている関数と考え方は同じですが、以下のところが違います。


2 ● kodairabase
●50ポイント
if(eregi("Googlebot",$_SERVER['HTTP_USER_AGENT']{
 // it says it's the lovely google
 $ip = $_SERVER['REMOTE_ADDR'];
 $name = gethostbyaddr($ip);
 // Now we have the name, look up the corresponding IP address.
 $host = gethostbyname($name);
 if(eregi("Googlebot",$name){
 if ($host == $ip){
 // lovely, let it in
 }else{
 // evil, send it away
 }
 }else{
 // Liar, Liar, Pants on fire
 }
}else{
 // Continue
}

Identifing the Googlebot gethostbyname & gethostbyaddr
http://www.liamdelahunty.com/tips/php_gethostbyaddr_googlebot.php


a-kuma3さんのコメント
eregi は、 >> [http://static.php.net/www.php.net/images/dialog-warning.png:image] この関数は PHP 5.3.0 で <b>非推奨</b>となりました。この機能を使用しないことを強く推奨します。 << だ、そうですよ。 http://www.php.net/manual/ja/function.eregi.php

うぃんどさんのコメント
問題点はeregiだけではないですね もっと大きな問題点として、gethostbyaddr と gethostbyname による確認方法の最大の欠点を無視してることですね 奇しくもkodairabaseさんの前回質問への回答の中で、 その最大の欠点を暴露しているのは、何とも笑えないジョークでしょうか? http://q.hatena.ne.jp/1325596736#a1125899 >> Googlebot が使用する IP アドレスは、その時々で変化します <<

tdoiさんのコメント
この判定だと、指定したIPの逆引きで、 googlebot.example.com foogooglebotbar.com みたいのを登録しておくと、詐称できちゃいますよ。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ