国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 帝國(guó)Empire > 正文

帝國(guó)CMS根據(jù)ip跳轉(zhuǎn)到不同的頁面

2024-08-28 12:21:41
字體:
供稿:網(wǎng)友
  1. <?php 
  2. //php獲取ip的算法 
  3. $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; 
  4. $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]; 
  5.   
  6. //echo $user_IP; 
  7. ?> 
  8.   
  9. //=================================== 
  10. // 功能:IP地址獲取真實(shí)地址函數(shù) 
  11. // 參數(shù):$ip - IP地址 
  12. //=================================== 
  13. function convertip($ip) { 
  14.     //IP數(shù)據(jù)文件路徑 
  15.     $dat_path = 'QQWry.dat'
  16.   
  17.     //檢查IP地址 
  18.     if(!ereg("^([0-9]{1,3}.){3}[0-9]{1,3}$"$ip)){ 
  19.         return 'IP Address Error'
  20.     } 
  21.   
  22.     //打開IP數(shù)據(jù)文件 
  23.     if(!$fd = @fopen($dat_path'rb')){ 
  24.         return 'IP date file not exists or access denied'
  25.     } 
  26.   
  27.     //分解IP進(jìn)行運(yùn)算,得出整形數(shù) 
  28.     $ip = explode('.'$ip); 
  29.     $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3]; 
  30.   
  31.     //獲取IP數(shù)據(jù)索引開始和結(jié)束位置 
  32.     $DataBegin = fread($fd, 4); 
  33.     $DataEnd = fread($fd, 4); 
  34.     $ipbegin = implode('', unpack('L'$DataBegin)); 
  35.     if($ipbegin < 0) $ipbegin += pow(2, 32); 
  36.     $ipend = implode('', unpack('L'$DataEnd)); 
  37.     if($ipend < 0) $ipend += pow(2, 32); 
  38.     $ipAllNum = ($ipend - $ipbegin) / 7 + 1; 
  39.   
  40.     $BeginNum = 0; 
  41.     $EndNum = $ipAllNum
  42.   
  43.     //使用二分查找法從索引記錄中搜索匹配的IP記錄 
  44.     while($ip1num>$ipNum || $ip2num<$ipNum) { 
  45.         $Middleintval(($EndNum + $BeginNum) / 2); 
  46.   
  47.         //偏移指針到索引位置讀取4個(gè)字節(jié) 
  48.         fseek($fd$ipbegin + 7 * $Middle); 
  49.         $ipData1 = fread($fd, 4); 
  50.         if(strlen($ipData1) < 4) { 
  51.             fclose($fd); 
  52.             return 'System Error'
  53.         } 
  54.         //提取出來的數(shù)據(jù)轉(zhuǎn)換成長(zhǎng)整形,如果數(shù)據(jù)是負(fù)數(shù)則加上2的32次冪 
  55.         $ip1num = implode('', unpack('L'$ipData1)); 
  56.         if($ip1num < 0) $ip1num += pow(2, 32); 
  57.   
  58.         //提取的長(zhǎng)整型數(shù)大于我們IP地址則修改結(jié)束位置進(jìn)行下一次循環(huán) 
  59.         if($ip1num > $ipNum) { 
  60.             $EndNum = $Middle
  61.             continue
  62.         } 
  63.   
  64.         //取完上一個(gè)索引后取下一個(gè)索引 
  65.         $DataSeek = fread($fd, 3); 
  66.         if(strlen($DataSeek) < 3) { 
  67.             fclose($fd); 
  68.             return 'System Error'
  69.         } 
  70.         $DataSeek = implode('', unpack('L'$DataSeek.chr(0))); 
  71.         fseek($fd$DataSeek); 
  72.         $ipData2 = fread($fd, 4); 
  73.         if(strlen($ipData2) < 4) { 
  74.             fclose($fd); 
  75.             return 'System Error'
  76.         } 
  77.         $ip2num = implode('', unpack('L'$ipData2)); 
  78.         if($ip2num < 0) $ip2num += pow(2, 32); 
  79.   
  80.         //沒找到提示未知 
  81.         if($ip2num < $ipNum) { 
  82.             if($Middle == $BeginNum) { 
  83.                 fclose($fd); 
  84.                 return 'Unknown'
  85.             } 
  86.             $BeginNum = $Middle
  87.         }//開源軟件:Vevb.com 
  88.     } 
  89.   
  90.     //下面的代碼讀暈了,沒讀明白,有興趣的慢慢讀 
  91.     $ipFlag = fread($fd, 1); 
  92.     if($ipFlag == chr(1)) { 
  93.         $ipSeek = fread($fd, 3); 
  94.         if(strlen($ipSeek) < 3) { 
  95.             fclose($fd); 
  96.             return 'System Error'
  97.         } 
  98.         $ipSeek = implode('', unpack('L'$ipSeek.chr(0))); 
  99.         fseek($fd$ipSeek); 
  100.         $ipFlag = fread($fd, 1); 
  101.     } 
  102.   
  103.     if($ipFlag == chr(2)) { 
  104.         $AddrSeek = fread($fd, 3); 
  105.         if(strlen($AddrSeek) < 3) { 
  106.             fclose($fd); 
  107.             return 'System Error'
  108.         } 
  109.         $ipFlag = fread($fd, 1); 
  110.         if($ipFlag == chr(2)) { 
  111.             $AddrSeek2 = fread($fd, 3); 
  112.             if(strlen($AddrSeek2) < 3) { 
  113.                 fclose($fd); 
  114.                 return 'System Error'
  115.             } 
  116.             $AddrSeek2 = implode('', unpack('L'$AddrSeek2.chr(0))); 
  117.             fseek($fd$AddrSeek2); 
  118.         } else { 
  119.             fseek($fd, -1, SEEK_CUR); 
  120.         } 
  121.   
  122.         while(($char = fread($fd, 1)) != chr(0)) 
  123.             $ipAddr2 .= $char
  124.   
  125.         $AddrSeek = implode('', unpack('L'$AddrSeek.chr(0))); 
  126.         fseek($fd$AddrSeek); 
  127.   
  128.         while(($char = fread($fd, 1)) != chr(0)) 
  129.             $ipAddr1 .= $char
  130.     } else { 
  131.         fseek($fd, -1, SEEK_CUR); 
  132.         while(($char = fread($fd, 1)) != chr(0)) 
  133.             $ipAddr1 .= $char
  134.   
  135.         $ipFlag = fread($fd, 1); 
  136.         if($ipFlag == chr(2)) { 
  137.             $AddrSeek2 = fread($fd, 3); 
  138.             if(strlen($AddrSeek2) < 3) { 
  139.                 fclose($fd); 
  140.                 return 'System Error'
  141.             } 
  142.             $AddrSeek2 = implode('', unpack('L'$AddrSeek2.chr(0))); 
  143.             fseek($fd$AddrSeek2); 
  144.         } else { 
  145.             fseek($fd, -1, SEEK_CUR); 
  146.         } 
  147.         while(($char = fread($fd, 1)) != chr(0)){ 
  148.             $ipAddr2 .= $char
  149.         } 
  150.     } 
  151.     fclose($fd); 
  152.   
  153.     //最后做相應(yīng)的替換操作后返回結(jié)果 
  154.     if(preg_match('/http/i'$ipAddr2)) { 
  155.         $ipAddr2 = ''
  156.     } 
  157.     $ipaddr = "$ipAddr1 $ipAddr2"
  158.     $ipaddr = preg_replace('/CZ88.Net/is'''$ipaddr); 
  159.     $ipaddr = preg_replace('/^s*/is'''$ipaddr); 
  160.     $ipaddr = preg_replace('/s*$/is'''$ipaddr); 
  161.     if(preg_match('/http/i'$ipaddr) || $ipaddr == '') { 
  162.         $ipaddr = 'Unknown'
  163.     } 
  164.   
  165.     return $ipaddr
  166. ?> 
  167.   
  168.         var sf=''
  169.   
  170. if(sf.indexOf("香港")>=0){ 
  171.         window.location.href="http://www.****.com/?香港"
  172. else if(sf.indexOf("廣東省")>=0){ 
  173.         window.location.href="http://www.****.com/?廣東"
  174. }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万山特区| 赤壁市| 景宁| 乳源| 滦南县| 化德县| 前郭尔| 辽中县| 平南县| 永修县| 仙桃市| 东阳市| 民县| 綦江县| 旌德县| 论坛| 中方县| 大宁县| 罗源县| 深圳市| 葵青区| 许昌县| 和田县| 德惠市| 漯河市| 武功县| 五原县| 湘西| 洛隆县| 甘洛县| 玛曲县| 开鲁县| 沽源县| 玉林市| 云和县| 塔城市| 汶川县| 丁青县| 泸水县| 武夷山市| 将乐县|