2014年3月2日日曜日

訳の分からないuserAgent(ユーザーエージェント)

訳の分からないuserAgent(ユーザーエージェント)


ロポットとユーザーを区別して対応するための Function 。


<?php
mf_rot();

function mf_rot(){
//echo '<br>';
//echo $_SERVER['HTTP_USER_AGENT'];
//echo '<br>';
//echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
//echo '<br><br><br><br><br><br>';

$ulg=array();
$robots=array(' ',
'Java/1.7.0_25',
'Twitterbot/1.0',
'ceron.jp/1.0',
'NING/1.0',
'Apache-HttpClient/4.3 (java 1.5)',
'Google-HTTP-Java-Client/1.17.0-rc (gzip)',
'MetaURI API/2.0 +metauri.com',
'Yahoo:LinkExpander:Slingstone',
'EventMachine HttpClient',
'ShortLinkTranslate',
'msnbot/1.1 (+http://search.msn.com/msnbot.htm)',
'QuerySeekerSpider ( http://queryseeker.com/bot.html )',
'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)',
'Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)',
'HTTP_Request2/2.2.1 (http://pear.php.net/package/http_request2) PHP/5.5.9',
'Mozilla/5.0 ()',
'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; SLCC1; .NET CLR 1.1.4322)',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1',
'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)', //***
'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', //***
);

if(!empty($_SERVER['HTTP_USER_AGENT']) and !empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
if (!in_array($_SERVER['HTTP_USER_AGENT'],$robots)){
$ulg=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);

if($ulg['0']=='ja' or $ulg['0']=='ja-jp'){
echo '<br>ja-jP<br>';
echo '<br>is user<br>';
echo '<br>is japanese<br>';
}else{
echo '<br>is not japanese<br>';
echo '<br>exit1<br>';
}
}else{
echo '<br>is Robot<br>';
echo '<br>exit2<br>';
}
}else{
echo '<br>Empty<br>';
}
}
?>

0 件のコメント: