中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php判斷IP地址是否在多個IP段內的方法是什么

發布時間:2020-08-19 09:58:18 來源:億速云 閱讀:218 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關php判斷IP地址是否在多個IP段內的方法是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

IP.class.php

<?php
 
class Ip {
  /**
   * 取IP
   * @return string
   */
  public static function get() {
    if ($_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
      } elseif ($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
      } else {
        $ip = $_SERVER['REMOTE_ADDR'];
      }
      return $ip;
  }
 
  /**
   * IP轉成整形數值
   * @param string $ip IP
   * @return int
   */
  public static function ipToInt($ip) {
    $ips = explode('.',$ip);
    if (count($ips)==4) {
      $int = $ips[0]*256*256*256+$ips[1]*256*256+$ips[2]*256+$ips[3]; //根據IP,a,b,c類進行計算
    } else {
      //throw new Exception('ip is error');
      Tool::Alert('IP地址存在錯誤...'); //一個工具類,彈出提示信息
    }
    return $int;
  }
 
  /**
   * 判斷IP是否在一個IP段內
   * @param string $startIp 開始IP
   * @param string $endIp 結束IP
   * @param string $ip IP
   * @return bool
   */
  public static function isIn($startIp, $endIp, $ip) {
    $start = Ip::ipToInt($startIp);
    $end = Ip::ipToInt($endIp);
    $ipInt = Ip::ipToInt($ip);
    $result = false;
    if ($ipInt>=$start && $ipInt<=$end) {
      $result = true;
    }
    return $result;
  }
 
}
 
?>

IpRang.class.php

<?php
 
//將不同的IP段存儲到數組中..
 
$iprang=array(
  array('222.243.159.1','222.243.159.255'),
  array('10.1.1.1','10.1.1.255')
);
?>

test.php

<?php
 
require_once 'Tool.class.php'; //工具類
require_once 'IP.class.php'; //IP類
require_once 'IpRang.class.php'; //IP段范圍
 
$ip = IP::get(); //獲取IP地址
$tag='1';
foreach($iprang as $key => $value){
 if(!IP::isIn($value[0], $value[1], $ip)){
  continue;
 }else{
  $tag.=$key;
 }
}
if(mb_strlen($tag,'utf-8')==1){
 echo "<script src='/iplookup/iplookup.php&#63;format=js&ip=".$ip."' type='text/javascript'></script>";//調用新浪IP接口
 echo "<script type='text/javascript'>alert('很遺憾,您所用的設備網絡不在某某范圍內...\\n".$ip."\\n'+remote_ip_info.province+remote_ip_info.city+remote_ip_info.district); $(\"input[name='submit']\").attr(\"disabled\",true);</script>";
  //彈出提示框,顯示IP地址、地址以及將提交按鈕置為不可用狀態
}
 
?>

感謝各位的閱讀!關于php判斷IP地址是否在多個IP段內的方法是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巨野县| 桦川县| 灌云县| 高邮市| 滕州市| 保康县| 霍林郭勒市| 奉化市| 平遥县| 乐山市| 界首市| 吴江市| 马尔康县| 胶州市| 石林| 中牟县| 绿春县| 定州市| 武城县| 墨脱县| 平山县| 广昌县| 淅川县| 孝感市| 涡阳县| 乌海市| 汾西县| 甘孜| 和静县| 江城| 资中县| 定远县| 乐清市| 湟中县| 尼玛县| 新兴县| 榆树市| 景宁| 钟祥市| 伊金霍洛旗| 兴城市|