Skip to content

Instantly share code, notes, and snippets.

@gomasaba
Created August 15, 2011 14:25
Show Gist options
  • Save gomasaba/1146856 to your computer and use it in GitHub Desktop.
Save gomasaba/1146856 to your computer and use it in GitHub Desktop.
携帯用IPアドレスチェック
<?php
require_once 'Net/IPv4.php';
class IpCheck {
function gateway(){
//IPを設定する配列
$ip_table = array();
//$ip_table['mp'][] = '192.168.0.132';
//Googleモバイルクロール
$ip_table['google'] = array();
$ip_table['google'][] = '72.14.199.0/25';
$ip_table['google'][] = '209.85.238.0/25';
//Yahoo!モバイルクロール
$ip_table['yahoo'] = array();
$ip_table['yahoo'][] = '124.83.159.146';
$ip_table['yahoo'][] = '124.83.159.147';
$ip_table['yahoo'][] = '124.83.159.148';
$ip_table['yahoo'][] = '124.83.159.149';
$ip_table['yahoo'][] = '124.83.159.150';
$ip_table['yahoo'][] = '124.83.159.151';
$ip_table['yahoo'][] = '124.83.159.152';
$ip_table['yahoo'][] = '124.83.159.153';
$ip_table['yahoo'][] = '124.83.159.154';
$ip_table['yahoo'][] = '124.83.159.155';
$ip_table['yahoo'][] = '124.83.159.156';
$ip_table['yahoo'][] = '124.83.159.157';
$ip_table['yahoo'][] = '124.83.159.158';
$ip_table['yahoo'][] = '124.83.159.159';
$ip_table['yahoo'][] = '124.83.159.160';
$ip_table['yahoo'][] = '124.83.159.161';
$ip_table['yahoo'][] = '124.83.159.162';
$ip_table['yahoo'][] = '124.83.159.163';
$ip_table['yahoo'][] = '124.83.159.164';
$ip_table['yahoo'][] = '124.83.159.165';
$ip_table['yahoo'][] = '124.83.159.166';
$ip_table['yahoo'][] = '124.83.159.167';
$ip_table['yahoo'][] = '124.83.159.168';
$ip_table['yahoo'][] = '124.83.159.169';
$ip_table['yahoo'][] = '124.83.159.170';
$ip_table['yahoo'][] = '124.83.159.171';
$ip_table['yahoo'][] = '124.83.159.172';
$ip_table['yahoo'][] = '124.83.159.173';
$ip_table['yahoo'][] = '124.83.159.174';
$ip_table['yahoo'][] = '124.83.159.175';
$ip_table['yahoo'][] = '124.83.159.176';
$ip_table['yahoo'][] = '124.83.159.177';
$ip_table['yahoo'][] = '124.83.159.178';
$ip_table['yahoo'][] = '124.83.159.179';
$ip_table['yahoo'][] = '124.83.159.180';
$ip_table['yahoo'][] = '124.83.159.181';
$ip_table['yahoo'][] = '124.83.159.182';
$ip_table['yahoo'][] = '124.83.159.183';
$ip_table['yahoo'][] = '124.83.159.184';
$ip_table['yahoo'][] = '124.83.159.185';
$ip_table['yahoo'][] = '124.83.159.224';
$ip_table['yahoo'][] = '124.83.159.225';
$ip_table['yahoo'][] = '124.83.159.226';
$ip_table['yahoo'][] = '124.83.159.227';
$ip_table['yahoo'][] = '124.83.159.228';
$ip_table['yahoo'][] = '124.83.159.229';
$ip_table['yahoo'][] = '124.83.159.230';
$ip_table['yahoo'][] = '124.83.159.231';
$ip_table['yahoo'][] = '124.83.159.232';
$ip_table['yahoo'][] = '124.83.159.233';
$ip_table['yahoo'][] = '124.83.159.234';
$ip_table['yahoo'][] = '124.83.159.235';
$ip_table['yahoo'][] = '124.83.159.236';
$ip_table['yahoo'][] = '124.83.159.237';
$ip_table['yahoo'][] = '124.83.159.238';
$ip_table['yahoo'][] = '124.83.159.239';
$ip_table['yahoo'][] = '124.83.159.240';
$ip_table['yahoo'][] = '124.83.159.241';
$ip_table['yahoo'][] = '124.83.159.242';
$ip_table['yahoo'][] = '124.83.159.243';
$ip_table['yahoo'][] = '124.83.159.244';
$ip_table['yahoo'][] = '124.83.159.245';
$ip_table['yahoo'][] = '124.83.159.246';
$ip_table['yahoo'][] = '124.83.159.247';
//モバイルGooモバイルクロール
$ip_table['goo'] = array();
$ip_table['goo'][] = '210.150.10.32/27';
$ip_table['goo'][] = '203.131.253.0/24';
//モバイル検索サービス研究開発
$ip_table['goo'][] = '203.131.250.0/24';
$ip_table['goo'][] = '203.131.251.0/24';
$ip_table['goo'][] = '203.131.252.0/24';
$ip_table['goo'][] = '203.131.254.0/24';
$ip_table['goo'][] = '203.131.255.0/24';
//livedoor
$ip_table['livedoor'] = array();
$ip_table['livedoor'][] = '203.104.254.0/24';
//モバゲータウン
$ip_table['mbga'] = array();
$ip_table['mbga'][] = '202.238.103.126';
$ip_table['mbga'][] = '202.213.221.97';
//エフルート
$ip_table['froute'] = array();
$ip_table['froute'][] = '60.43.36.253';
// docomoのIP帯域幅 (2008年9月更新)
$ip_table['docomo'] = array();
$ip_table['docomo'][] = '210.153.84.0/24';
$ip_table['docomo'][] = '210.136.161.0/24';
$ip_table['docomo'][] = '210.153.86.0/24';
$ip_table['docomo'][] = '124.146.174.0/24';
$ip_table['docomo'][] = '124.146.175.0/24';
// auのIP帯域幅 (2010年4月30日現在)
$ip_table['au'] = array();
$ip_table['au'][] = '210.230.128.224/28';
$ip_table['au'][] = '121.111.227.160/27';
$ip_table['au'][] = '61.117.1.0/28';
$ip_table['au'][] = '219.108.158.0/27';
$ip_table['au'][] = '219.125.146.0/28';
$ip_table['au'][] = '61.117.2.32/29';
$ip_table['au'][] = '61.117.2.40/29';
$ip_table['au'][] = '219.108.158.40/29';
$ip_table['au'][] = '219.125.148.0/25';
$ip_table['au'][] = '222.5.63.0/25';
$ip_table['au'][] = '222.5.63.128/25';
$ip_table['au'][] = '222.5.62.128/25';
$ip_table['au'][] = '59.135.38.128/25';
$ip_table['au'][] = '219.108.157.0/25';
$ip_table['au'][] = '219.125.145.0/25';
$ip_table['au'][] = '121.111.231.0/25';
$ip_table['au'][] = '121.111.227.0/25';
$ip_table['au'][] = '118.152.214.192/26';
$ip_table['au'][] = '118.159.131.0/25';
$ip_table['au'][] = '118.159.133.0/25';
$ip_table['au'][] = '118.159.132.160/27';
$ip_table['au'][] = '111.86.142.0/26';
$ip_table['au'][] = '111.86.141.64/26';
$ip_table['au'][] = '111.86.141.128/26';
$ip_table['au'][] = '111.86.141.192/26';
$ip_table['au'][] = '118.159.133.192/26';
// softbankのIP帯域幅 (2008年2月29日現在)
$ip_table['softbank'] = array();
$ip_table['softbank'][] = '123.108.237.0/27';
$ip_table['softbank'][] = '202.253.96.0/28';
$ip_table['softbank'][] = '202.253.96.224/27';
$ip_table['softbank'][] = '123.108.236.0/24';
$ip_table['softbank'][] = '202.179.204.0/24';
$ip_table['softbank'][] = '210.146.7.192/26';
$ip_table['softbank'][] = '210.146.60.192/26';
$ip_table['softbank'][] = '210.151.9.128/26';
$ip_table['softbank'][] = '210.169.130.112/28';
$ip_table['softbank'][] = '210.175.1.128/25';
$ip_table['softbank'][] = '210.228.189.0/24';
$ip_table['softbank'][] = '211.8.159.128/25';
// willcomのIP帯域幅 (2010年5月10日現在)
$ip_table['willcom'][] = '61.198.128.0/24';
$ip_table['willcom'][] = '61.198.129.0/24';
$ip_table['willcom'][] = '61.198.130.0/24';
$ip_table['willcom'][] = '61.198.131.0/24';
$ip_table['willcom'][] = '61.198.132.0/24';
$ip_table['willcom'][] = '61.198.133.0/24';
$ip_table['willcom'][] = '61.198.134.0/24';
$ip_table['willcom'][] = '61.198.135.0/24';
$ip_table['willcom'][] = '61.198.136.0/24';
$ip_table['willcom'][] = '61.198.137.0/24';
$ip_table['willcom'][] = '61.198.138.100/32';
$ip_table['willcom'][] = '61.198.138.101/32';
$ip_table['willcom'][] = '61.198.138.102/32';
$ip_table['willcom'][] = '61.198.138.103/32';
$ip_table['willcom'][] = '61.198.139.0/29';
$ip_table['willcom'][] = '61.198.139.128/27';
$ip_table['willcom'][] = '61.198.139.160/28';
$ip_table['willcom'][] = '61.198.140.0/24';
$ip_table['willcom'][] = '61.198.141.0/24';
$ip_table['willcom'][] = '61.198.142.0/24';
$ip_table['willcom'][] = '61.198.143.0/24';
$ip_table['willcom'][] = '61.198.160.0/24';
$ip_table['willcom'][] = '61.198.161.0/24';
$ip_table['willcom'][] = '61.198.162.0/24';
$ip_table['willcom'][] = '61.198.163.0/24';
$ip_table['willcom'][] = '61.198.164.0/24';
$ip_table['willcom'][] = '61.198.165.0/24';
$ip_table['willcom'][] = '61.198.166.0/24';
$ip_table['willcom'][] = '61.198.168.0/24';
$ip_table['willcom'][] = '61.198.169.0/24';
$ip_table['willcom'][] = '61.198.170.0/24';
$ip_table['willcom'][] = '61.198.171.0/24';
$ip_table['willcom'][] = '61.198.172.0/24';
$ip_table['willcom'][] = '61.198.173.0/24';
$ip_table['willcom'][] = '61.198.174.0/24';
$ip_table['willcom'][] = '61.198.175.0/24';
$ip_table['willcom'][] = '61.198.248.0/24';
$ip_table['willcom'][] = '61.198.249.0/24';
$ip_table['willcom'][] = '61.198.250.0/24';
$ip_table['willcom'][] = '61.198.251.0/24';
$ip_table['willcom'][] = '61.198.252.0/24';
$ip_table['willcom'][] = '61.198.253.0/24';
$ip_table['willcom'][] = '61.198.254.0/24';
$ip_table['willcom'][] = '61.198.255.0/24';
$ip_table['willcom'][] = '61.204.0.0/24';
$ip_table['willcom'][] = '61.204.2.0/24';
$ip_table['willcom'][] = '61.204.3.0/25';
$ip_table['willcom'][] = '61.204.3.128/25';
$ip_table['willcom'][] = '61.204.4.0/24';
$ip_table['willcom'][] = '61.204.5.0/24';
$ip_table['willcom'][] = '61.204.6.0/25';
$ip_table['willcom'][] = '61.204.6.128/25';
$ip_table['willcom'][] = '61.204.7.0/25';
$ip_table['willcom'][] = '61.204.92.0/24';
$ip_table['willcom'][] = '61.204.93.0/24';
$ip_table['willcom'][] = '61.204.94.0/24';
$ip_table['willcom'][] = '61.204.95.0/24';
$ip_table['willcom'][] = '114.20.49.0/24';
$ip_table['willcom'][] = '114.20.50.0/24';
$ip_table['willcom'][] = '114.20.51.0/24';
$ip_table['willcom'][] = '114.20.52.0/24';
$ip_table['willcom'][] = '114.20.53.0/24';
$ip_table['willcom'][] = '114.20.54.0/24';
$ip_table['willcom'][] = '114.20.55.0/24';
$ip_table['willcom'][] = '114.20.56.0/24';
$ip_table['willcom'][] = '114.20.57.0/24';
$ip_table['willcom'][] = '114.20.58.0/24';
$ip_table['willcom'][] = '114.20.59.0/24';
$ip_table['willcom'][] = '114.20.60.0/24';
$ip_table['willcom'][] = '114.20.61.0/24';
$ip_table['willcom'][] = '114.20.62.0/24';
$ip_table['willcom'][] = '114.20.63.0/24';
$ip_table['willcom'][] = '114.20.64.0/24';
$ip_table['willcom'][] = '114.20.65.0/24';
$ip_table['willcom'][] = '114.20.66.0/24';
$ip_table['willcom'][] = '114.20.67.0/24';
$ip_table['willcom'][] = '114.21.255.0/27';
$ip_table['willcom'][] = '125.28.0.0/24';
$ip_table['willcom'][] = '125.28.1.0/24';
$ip_table['willcom'][] = '125.28.15.0/24';
$ip_table['willcom'][] = '125.28.16.0/24';
$ip_table['willcom'][] = '125.28.17.0/24';
$ip_table['willcom'][] = '125.28.2.0/24';
$ip_table['willcom'][] = '125.28.3.0/24';
$ip_table['willcom'][] = '125.28.4.0/24';
$ip_table['willcom'][] = '125.28.5.0/24';
$ip_table['willcom'][] = '125.28.8.0/24';
$ip_table['willcom'][] = '210.168.246.0/24';
$ip_table['willcom'][] = '210.168.247.0/24';
$ip_table['willcom'][] = '210.169.92.0/24';
$ip_table['willcom'][] = '210.169.93.0/24';
$ip_table['willcom'][] = '210.169.94.0/24';
$ip_table['willcom'][] = '210.169.95.0/24';
$ip_table['willcom'][] = '210.169.96.0/24';
$ip_table['willcom'][] = '210.169.97.0/24';
$ip_table['willcom'][] = '210.169.98.0/24';
$ip_table['willcom'][] = '210.169.99.0/24';
$ip_table['willcom'][] = '211.126.192.128/25';
$ip_table['willcom'][] = '211.18.232.0/24';
$ip_table['willcom'][] = '211.18.233.0/24';
$ip_table['willcom'][] = '211.18.234.0/24';
$ip_table['willcom'][] = '211.18.235.0/24';
$ip_table['willcom'][] = '211.18.236.0/24';
$ip_table['willcom'][] = '211.18.237.0/24';
$ip_table['willcom'][] = '219.108.10.0/24';
$ip_table['willcom'][] = '219.108.11.0/24';
$ip_table['willcom'][] = '219.108.12.0/24';
$ip_table['willcom'][] = '219.108.13.0/24';
$ip_table['willcom'][] = '219.108.14.0/24';
$ip_table['willcom'][] = '219.108.15.0/24';
$ip_table['willcom'][] = '219.108.7.0/24';
$ip_table['willcom'][] = '219.108.8.0/24';
$ip_table['willcom'][] = '219.108.9.0/24';
$ip_table['willcom'][] = '221.119.0.0/24';
$ip_table['willcom'][] = '221.119.1.0/24';
$ip_table['willcom'][] = '221.119.2.0/24';
$ip_table['willcom'][] = '221.119.3.0/24';
$ip_table['willcom'][] = '221.119.4.0/24';
$ip_table['willcom'][] = '221.119.6.0/24';
$ip_table['willcom'][] = '221.119.7.0/24';
$ip_table['willcom'][] = '221.119.8.0/24';
$ip_table['willcom'][] = '221.119.9.0/24';
//追加IPアドレス帯域(2009年12月24日追加分)
$ip_table['willcom'][] = '114.20.49.0/24';
$ip_table['willcom'][] = '114.20.50.0/24';
$ip_table['willcom'][] = '114.20.51.0/24';
$ip_table['willcom'][] = '114.20.52.0/24';
$ip_table['willcom'][] = '114.20.53.0/24';
$ip_table['willcom'][] = '114.20.54.0/24';
$ip_table['willcom'][] = '114.20.55.0/24';
$ip_table['willcom'][] = '114.20.56.0/24';
$ip_table['willcom'][] = '114.20.57.0/24';
$ip_table['willcom'][] = '114.20.58.0/24';
$ip_table['willcom'][] = '114.20.59.0/24';
$ip_table['willcom'][] = '114.20.60.0/24';
$ip_table['willcom'][] = '114.20.61.0/24';
$ip_table['willcom'][] = '114.20.62.0/24';
$ip_table['willcom'][] = '114.20.63.0/24';
$ip_table['willcom'][] = '114.20.64.0/24';
$ip_table['willcom'][] = '114.20.65.0/24';
$ip_table['willcom'][] = '114.20.66.0/24';
$ip_table['willcom'][] = '114.20.67.0/24';
$ip_table['willcom'][] = '114.21.255.0/27';
// IPのキャリアを決定する
$ip_carrier = '';
// IPアドレスからキャリアを判別
if (empty($ip_carrier)){
foreach($ip_table as $ip_table_carrier => $ip_table_value){
foreach ($ip_table_value as $value){
if(strcmp($_SERVER["REMOTE_ADDR"],$value) == 0 || Net_IPv4::ipInNetwork($_SERVER["REMOTE_ADDR"],$value)){
$ip_carrier = $ip_table_carrier;
break 2;
}
}
}
}
// 携帯のキャリアIP以外はPCからとみなす
if (empty($ip_carrier)){
$ip_carrier = 'pc';
}
return $ip_carrier;
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment