2011-08-17 14 views
0

どのように私は、ローカルIPアドレスの範囲を公開IPアドレスとPHPで比較できますか?どのようにPHPのパブリックIPアドレスにローカルIPアドレスの範囲を比較するには?

範囲内のIPアドレスを比較したいですか? 範囲外の場合は、「接続に失敗しました」というメッセージを表示しますか?

+0

"in rang"を定義してください。 –

+0

あなたは範囲を意味しますか? – jman

+0

"範囲内"を定義してください。 1つのIPを別のIPの「範囲内」にするには?どの「ローカルIP」を参照していますか、127.0.0.1?あなたのルータによって割り当てられたIP?サーバーのパブリックインターネットIP? –

答えて

0
$ipRanges = array(
    array('10.1.1.1' , '10.1.10.255') , 
    array('192.168.12.1' , '192.168.12.16') 
); 


$theIP = '10.1.5.5'; # Could be $_SERVER['REMOTE_ADDR'] for accessing IP address 


$theIPdec = ip2long($theIP); # Converts from an IP address to an integer 
$inRange = false; 
foreach($ipRanges as $r){ 
    if($theIPdec >= ip2long($r[0]) 
     && $theIPdec <= ip2long($r[1])){ 
    # IP is in this range 
    $inRange = true; 
    break; 
    } 
} 


if(!$inRange){ 
# No Matches to Ranges 
    echo 'fail connected'; 
} 
関連する問題