IPレンジを使って海外からのアクセスを制限する方法




国ごとのIPレンジ

国ごとにおおよそのIPレンジがきまっていて、そのIPレンジに当てはまるIPからのアクセスを制御することで簡単にアクセス制限できます。

Node.jsでのIPレンジ制御

Node.jsであるIPがIPレンジに含まれるかはip-range-checkというモジュールを使うことで簡単に制御できます。

インストール方法

npmでインストールします。

$ npm install ip-range-check --save

制限方法

たったこれだけの処理で任意のIPがネットワーク範囲に含まれるか判定することができます。

この処理を制御したいAPIやWEBサイトの前段に用意することで特定のIPや国からのアクセスを制限することができます。

var ipRangeCheck = require("ip-range-check");

// Checks CIDR
ipRangeCheck("192.168.1.1", "102.1.5.2/24")
// > false
ipRangeCheck("192.168.1.1", "192.168.1.0/24")
// > true

// Checks if IP matches string
ipRangeCheck("192.168.1.1", "192.168.1.1")
// > true

// Checks array of CIDR's and string
ipRangeCheck("192.168.1.1", ["102.1.5.2/24", "192.168.1.0/24", "106.1.180.84"])
// > true

おすすめ書籍

マスタリングTCP/IPはネットワークに関する基本的な知識を丁寧に説明している必携の一冊となっています。

これからプログラミングを学ぶ人には難しい内容かもしれませんが、ネットワークの知識はサーバ構築やセキュリティを考える際に必要な知識となります。

ぜひとも手元に一冊おいておいて少しずつ勉強していくことをおすすめします。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です