ホームページ バックエンド開発 PHPチュートリアル 国内 IP をブロックし、アクセスに本人確認を要求するソリューションのアイデア。

国内 IP をブロックし、アクセスに本人確認を要求するソリューションのアイデア。

Jun 13, 2016 pm 01:33 PM
empty location quot tmp

国内IPのブロック、アクセスには本人確認が必要
国内IPをブロックしたい海外貿易サイトがありますが、特定の国内ユーザーにアクセスを許可する管理が必要なので、本人確認を行う必要があります。関数?これは私の最初の投稿です、もっと注目してください!ありがとう!

-----解決策--------------------------------
ユーザーがアクセスするときに、
1. ユーザーの IP を取得します。
2. 次に、オープン IP インターフェイスに移動して、ユーザーの地理的位置を照会します (Sina、NetEase、など)。 ip138、すべてオープン IP クエリ インターフェイスを備えています)
3. ユーザーの地理的位置に基づいて、ユーザーをブロックするか検証するかを決定できます。
------解決策---------

PHP コード

関数sina($ip)
{
    $php_runtime = マイクロタイム(TRUE);
    $str = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);
    $tmp =explode(" ",$str);
    (isset($tmp[4]) && !empty($tmp[4])) ? $location['country'] = $tmp[4] : $location['country'] = null;
    (isset($tmp[5]) && !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))
        $location を返します。
    それ以外
        false を返します。
}
<br><font color="#e78608">------解決策---------</font><br>IP は、次の IP アドレスに基づいて計算できます。ユーザーの訪問がどのサブネットに属しているか、110.80.0.0/13<br> など、中国で分割できるサブネットを配列に格納し、この配列にあるかどうかを判断するだけです。 <br><br>他のインターフェースに行ってアドレスを問い合わせて、アドレスやオペレーター名から判断するという煩わしさがありません。 <br>追記: この配列はそれほど大きくなく、アイテム数は 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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割 Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割 Dec 21, 2023 pm 05:36 PM

Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割

Linux での tmp の意味 Linux での tmp の意味 Mar 10, 2023 am 09:26 AM

Linux での tmp の意味

Nginxサーバーでのロケーション構成例の分析 Nginxサーバーでのロケーション構成例の分析 May 24, 2023 pm 02:05 PM

Nginxサーバーでのロケーション構成例の分析

CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は? CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は? Dec 27, 2023 pm 09:10 PM

CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は?

TmP とは何のファイルですか? TmP とは何のファイルですか? Dec 25, 2023 pm 03:39 PM

TmP とは何のファイルですか?

tmpとは何のファイルですか tmpとは何のファイルですか Feb 22, 2023 pm 02:35 PM

tmpとは何のファイルですか

nginxの場所でuriをインターセプトする方法 nginxの場所でuriをインターセプトする方法 May 18, 2023 pm 12:07 PM

nginxの場所でuriをインターセプトする方法

PHPは、指定されたキーが配列内に存在するかどうかを判断します PHPは、指定されたキーが配列内に存在するかどうかを判断します Mar 21, 2024 pm 09:21 PM

PHPは、指定されたキーが配列内に存在するかどうかを判断します

See all articles