ホームページ >バックエンド開発 >PHPの問題 >PHPでリージョンIPを禁止する方法

PHPでリージョンIPを禁止する方法

藏色散人
藏色散人オリジナル
2020-08-15 11:06:393260ブラウズ

PHP で地域の禁止を実装する方法: 最初に変数を使用して訪問者の IP アドレスを保存し、次に外部から IP アドレスの詳細情報を取得し、それがその地域内であるかどうかを判断します。アクセスを拒否し、最後に対応するアクションを実行するだけです。

PHPでリージョンIPを禁止する方法

推奨事項: 「PHP ビデオ チュートリアル

PHP は特定の領域で IP を禁止します

以前、このブログは江蘇省全体からの IP アクセスを禁止していました。

バックエンドでは、訪問者の IP ソースを特定し、それに応じて処理するために実際に PHP が使用されています

実際の戦闘では、PHP の一般的な構文がいくつか使用されます。

条件判断

ループ

配列

スーパー グローバル変数

さらに、システムに付属するいくつかの機能も使用されます

具体的なアイデアについて話しましょう:

1. 変数を使用して訪問者の IP アドレスを保存します

2. 外部から IP アドレスの詳細情報を取得する

##3. アクセスを拒否している州内かどうかを判断する

##4. 対応する

1 つ目は、訪問者の IP を保存することです。スーパー グローバル変数 $_SERVER を使用して、訪問者の IP アドレスを取得できます。

$ip = $_SERVER['REMOTE_ADDR'];

配列を使用して、アクセスが禁止されている地域を保存します。

$verification = array("xx省", "xx省", ...);

淘宝網 IP ライブラリを使用し、淘宝網 IP ライブラリを追加します (省の精度は 99.8% を超え、都市の精度は 96.8% を超えます) ページ内のすべての情報は文字列で保存されます

$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);

その中にはfile_get_contents() 関数は、ファイル内のすべての文字列を文字列内に保存します。

Web ページでは、PHP は PHP コードを表示する代わりに、最終コードの戻り値を表示します。これはフロントエンドとは異なります

文字列で保存するのは難しい 直接比較に使用するため、文字列を加工するには変数にするのがベスト

$ipInformation = json_decode($result, true);

json_decode()関数で文字列をJSONに変換フォームを PHP 変数に変換します。ここでは 2 次元の関連付けに変換されます。 Array

$address['data']['region'] は、IP の中国の省を返します

最後に、アクセス拒否の処理にはループと条件判定を使用します

最終コード:

このうちTODOは範囲内のIPをどう扱うかで、例えば直接die()を実行することができます。 ; ページ表示を無効にするには

以上がPHPでリージョンIPを禁止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。