2016-08-09 12 views
0

私はIP範囲内にあれば1で応答するIP範囲PHP関数を持っています。ajaxでのPHPの応答

PHPの:

<? 
$ip = $_SERVER['REMOTE_ADDR']; 

$public_ip_ranges = array(); 

$range = (object) array(); 
$range->name = 'Barclays'; 
$range->lower = '141.228.0.0'; 
$range->upper = '141.228.255.255'; 
$public_ip_ranges[] = $range; 

$range = (object) array(); 
$range->name = 'Incisive Media'; 
$range->lower = '10.1.0.0'; 
$range->upper = '10.1.255.255'; 
$public_ip_ranges[] = $range; 

$range = (object) array(); 
$range->name = 'Barcap'; 
$range->lower = '146.127.0.0'; 
$range->upper = '146.127.255.255'; 
$public_ip_ranges[] = $range; 


if (($lngIP=ip2long($ip)) < 0) $lngIP += 4294967296; 

foreach ($public_ip_ranges as $ip_range) { 
    if (($lngLow=ip2long($ip_range->lower)) < 0) $lngLow += 4294967296; 
    if (($lngHigh=ip2long($ip_range->upper)) < 0) $lngHigh += 4294967296; 
    if($lngIP >= $lngLow and $lngIP <= $lngHigh) { 
     echo 1; 
    } 

} 

?> 

私はアヤックス、このファイルを参照することが、私は何をしたいのは、PHPの関数のエコーの1つの、その後ディスプレイのxテキスト他の表示Yテキスト場合できました。

アヤックス:

$.ajax({ 
      url: "/microsub.php", 
      method: 'GET', 
      success: function (data) { 
      console.log(data); 
      }, 
      error: function(error) { 
       console.log(error); 
      } 

     }); 

は、だから私はあなたができる

+0

あなたの質問は...?このサイトは質問のためのものであり、to-doリストをダンプする場所ではありません。 –

+0

'success:function(data)'の部分でこれを試したいかもしれません: 'if(data == 1){// IPが範囲内にあるため何かをする} else {// IPは範囲内にありません}。しかし、Marcが言うように、私たちはあなたを助けるコードが必要です。 – Henders

+0

エコーがデータに格納されます – coder

答えて

1

を別のテキストアラートを表示しない場合は、他の警報(の範囲であれば1をエコーすべきである)は、PHPからの応答と表示テキストを利用したいと思いますエラーを返す:

$isPublic = true; 
foreach ($public_ip_ranges as $ip_range) { 
    if (($lngLow=ip2long($ip_range->lower)) < 0) $lngLow += 4294967296; 
    if (($lngHigh=ip2long($ip_range->upper)) < 0) $lngHigh +=4294967296; 

    $isPublic = ($lngIP >= $lngLow) && ($lngIP <= $lngHigh) && $isPublic; 
} 

if(!$isPublic) { 
    header("HTTP/1.0 404 Not Found"); 
} 

echo $isPublic;