国ごとの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にブロックチェーンエンジニアとして入社。
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す