ホームページ バックエンド開発 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]) && !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))        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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++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

.tmp ファイルのほとんどは、異常なシャットダウンまたはクラッシュによって残されたファイルです。これらの一時的な仮想記憶ディスクは、コンピュータの再起動後は使用されないため、安全に削除できます。 Windows オペレーティング システムを使用している場合、C ドライブのルート ディレクトリにサフィックス TMP の付いたファイルが見つかることがよくあります。また、Windows ディレクトリにも TEMP ディレクトリが見つかります。TMP ファイルは、さまざまなソフトウェアやソフトウェアによって生成される一時ファイルです。システム。ジャンク ファイルとも呼ばれます。 Windows によって生成される一時ファイルは、本質的には仮想メモリと同じですが、一時ファイルは仮想メモリよりも対象が絞られており、特定のプログラムのみに使用される点が異なります。そして、その特異性により、多くの初心者が怖気づいて削除できなくなりました。

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

Linux では、tmp は一時ファイルを保存するフォルダを指します。このフォルダには、システムとユーザーによって作成された一時ファイルが含まれます。tmp フォルダのデフォルトの制限時間は 30 日です。30 日間アクセスされなかった tmp 下のファイルは、自動的に保存されます。システムによって削除されました。

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

centos7システムのtmpディレクトリにゴミが大量にあるのですが、ゴミを削除したい場合はどうすればよいでしょうか?以下の詳細なチュートリアルを見てみましょう。 tmp ファイル ディレクトリ内のファイルのリストを表示するには、コマンド cdtmp/ を実行して tmp の現在のファイル ディレクトリに切り替え、ll コマンドを実行して現在のディレクトリ内のファイルのリストを表示します。以下に示すように。ファイルを削除するには、rm コマンドを使用します。rm コマンドはファイルをシステムから永久に削除することに注意してください。したがって、rm コマンドを使用するときは、ファイルを削除する前にプロンプ​​トを表示することをお勧めします。コマンド rm-i file name を使用し、ユーザーが削除を確認する (y) か削除をスキップする (n) まで待つと、システムは対応する操作を実行します。以下に示すように。

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

まず、nginxwiki の例を使用して、場所と一致ルールの種類を簡単に紹介します。 location=/{#matchesthequery/only.[configurationa]}location/{#matchesanyquery,sinceallqueriesbeginwith/,but Regular#expressionsandanylongerconventionalblockswillbe#matchedfirst .[configurationb]}location^~/im

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

「tmp」ファイルは一時ファイルで、通常はオペレーティング システムまたはプログラムの動作中に生成され、プログラムの実行中に一時データや中間結果を保存するために使用されます。これらのファイルは主にプログラムをスムーズに実行するために使用されますが、通常はプログラムの実行後に自動的に削除されます。 tmp ファイルは通常、Windows システムの C ドライブのルート ディレクトリにあります。ただし、tmp ファイルは特定のアプリケーションまたはシステムに関連付けられているため、その具体的な内容と目的はアプリケーションごとに異なる場合があります。

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

注: location の root および aliasroot 命令は、root によって設定されたディレクトリに検索ルートを設定するだけです。つまり、uri は切り詰められません。代わりに、元の uri がファイルを検索するディレクトリにジャンプするために使用されます。 aias 命令は一致する URI を切り捨て、エイリアスで設定したパスと残りの URI をサブパスとして使用して、その場所にある proxy_pass の URI を見つけます。proxy_pass の URL に URI がない場合、末尾が "/ 「」の場合、一致する URI は切り詰められます。末尾が「/」でない場合、proxy_pass URL に uri が含まれている場合、一致する URI は切り詰められません。

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

この記事では、PHP が配列内に指定されたキーが存在するかどうかを判断する方法について詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP は、指定されたキーが配列内に存在するかどうかを判断します。 PHP では、指定されたキーが配列内に存在するかどうかを判断する方法が数多くあります。 1. isset() 関数を使用します: isset($array[&quot;key&quot;]) この関数ブール値を返します。指定されたキーが存在する場合は true、存在しない場合は false。 2. array_key_exists() 関数を使用します: array_key_exists(&quot;key&quot;,$arr)

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

tmp は、さまざまなソフトウェアやシステムによって生成される一時ファイルであり、ジャンク ファイルとも呼ばれます。通常、一時ファイルを作成するプログラムは終了時に一時ファイルを削除しますが、これらのファイルが保持される場合もあります。一時ファイルが保持される理由はさまざまです。インストールが完了する前にプログラムが中断されたり、再起動中にクラッシュしたりする可能性があります。これらのファイルは一般に使用価値がほとんどないため、直接削除できます。

See all articles