スポンサードリンク
チャットや掲示板などを運営していて荒らしやスパムを防ぐためにIPを範囲で規制したくなることがありますよね・・・
123.223.0.0/16からの投稿を規制したいとか
そこでnode.jsでIPアドレスが範囲に入っているかチェックする方法を調べると、range_checkというのが使えるようです。
npm install range_checkで入ります。
使い方
範囲に入っているか以外に正しいIPアドレスか、v4アドレスかv6アドレスかなども確かめられます。
1 2 3 4 5 6 7 8 9 10 11 12 |
var range_check = require('range_check'); // 範囲に入っているかチェック in_range(IPアドレス,範囲) var result = range_check.in_range('123.223.233.231','123.223.0.0/16'); // true or falseで返ってきます。範囲のところにIPアドレスの範囲でないものを入れるとfalseになりました。 // range_check.in_range('123.223.233.231','123.223.233.231');もfalseになる、123.223.233.231/32とすべき var result = range_check.in_range('10.2.3.4',['10.0.0.0/8','192.168.0.0/16','fd00::/8']); // 配列で与えてもOK // 正しいIPかチェック var result = range_check.valid_ip('10.0.1.5'); // true or false // v4かv6かチェック var result = range_check.ver('2001:4860:4860::8888'); // 4 or 6 で返ってくる |
IPv6にも普通に対応してるので安心して使えますね。
スポンサードリンク