首頁 後端開發 php教程 屏蔽国内IP,访问需要进行身份验证解决思路

屏蔽国内IP,访问需要进行身份验证解决思路

Jun 13, 2016 am 10:19 AM
empty location quot tmp

屏蔽国内IP,访问需要进行身份验证
有一外贸网站想屏蔽国内IP,但我们自己需要管理和允许特定的国内用户访问所以要进行身份验证,请问这样的功能要怎样实现呢?第一次发帖,请大家多关注!谢谢!

------解决方案--------------------
可以做个页面,在用户访问时,
1.获取用户的IP
2.然后到开放的IP接口去查询用户的地理位置(例如新浪、网易、ip138,都有开放的ip查询接口)
3.有了用户的地理位置,再决定是屏蔽之,还是验证之
------解决方案--------------------

PHP code
function sina($ip){    $php_runtime = microtime(TRUE);    $str = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);    $tmp = explode("    ",$str);    (isset($tmp[4]) &amp;&amp; !empty($tmp[4])) ? $location['country'] = $tmp[4] : $location['country'] = null;    (isset($tmp[5]) &amp;&amp; !empty($tmp[5])) ? $location['city'] = $tmp[5] : $location['city'] = null;    (empty($tmp[6]) || !preg_match("/电/",$str) || !preg_match("/通/",$str)) ? $location['sp'] = $tmp[7] : $location['sp'] = $tmp[6];    $location['time'] = microtime(TRUE) - $php_runtime;    if(!empty($location))        return $location;    else        return false;}<br><font color="#e78608">------解决方案--------------------</font><br>通过用户来访的IP地址可以算出该IP属于哪个子网,如110.80.0.0/13<br>将全中国可划分的子网存在一个数组中,判断是否在这个数组中就行了。<br><br>不需要再去其他接口查询地址,然后根据地址或运营商的名字来判断,反而麻烦。<br>PS:这个数组不大,不到800条。<br><br>换算的方法请看此页面:http://url.cn/0TCFrY  内附全中国可划分子网的excel下载<br><br><br><font color="#e78608">------解决方案--------------------</font><br>ftp://ftp.apnic.net/public/apnic/stats/apnic/delegated-apnic-latest<br><br>apnic|CN|ipv4|180.212.0.0|131072|20091001|allocated<br><br>这就是国内的. 分析提取. 然后过滤IP就可以了<div class="clear">
                 
              
              
        
            </div>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

/tmp/資料夾在Linux系統中的清理原理及tmp檔案的作用 /tmp/資料夾在Linux系統中的清理原理及tmp檔案的作用 Dec 21, 2023 pm 05:36 PM

/tmp/資料夾在Linux系統中的清理原理及tmp檔案的作用

linux中tmp什麼意思 linux中tmp什麼意思 Mar 10, 2023 am 09:26 AM

linux中tmp什麼意思

如何在CentOS 7中存取並清理/tmp目錄中的垃圾檔案? 如何在CentOS 7中存取並清理/tmp目錄中的垃圾檔案? Dec 27, 2023 pm 09:10 PM

如何在CentOS 7中存取並清理/tmp目錄中的垃圾檔案?

Nginx伺服器中location設定實例分析 Nginx伺服器中location設定實例分析 May 24, 2023 pm 02:05 PM

Nginx伺服器中location設定實例分析

TmP是什麼檔案? TmP是什麼檔案? Dec 25, 2023 pm 03:39 PM

TmP是什麼檔案?

tmp是什麼文件 tmp是什麼文件 Feb 22, 2023 pm 02:35 PM

tmp是什麼文件

nginx location中uri的截取如何實現 nginx location中uri的截取如何實現 May 18, 2023 pm 12:07 PM

nginx location中uri的截取如何實現

PHP判斷某個數組中是否存在指定的key PHP判斷某個數組中是否存在指定的key Mar 21, 2024 pm 09:21 PM

PHP判斷某個數組中是否存在指定的key

See all articles