サイト制作や、サーバー管理を長くしていると、
アクセス元のIPを調べて、制限をかけたくなるケースによく遭遇します。
(もしかして、俺だけかな?笑)
例えばですが・・・
SoftBankのiPhoneからWEBサイトにアクセスすると、
以下のようなIPアドレスが、DHCP機能で自動的に付与されます。
(これは、2014年3月時点の情報です)
123.108.237.128/28
123.108.239.240/28
126.163.0.0/16
126.186.128.0/17
126.192.0.0/16
126.193.0.0/16
126.194.208.0/22
126.204.0.0/16
202.253.96.160/28
202.253.99.160/28
210.228.189.196/30
ですので、SoftBankのiPhoneからのアクセスのみ許可したい場合は、
「.htaccess」というテキスト・ファイルを用意して、
allow from 123.108.237.128/28 や
allow from 126.163.0.0/16
等の文字列を書き込めばOKという事になります。
もちろん、「.htaccess」ファイルへの書き込みだけではなくて、
例えば、Red Hat等のLINUXサーバーを構築しているケースでは、
FTPを設定する「/etc/xinetd.d/ftp」ファイルへの書き込みや、
「/etc/sysconfig/iptables」といった、TCPレベルでの
ファイヤーオールのIP制限にも転用可能なんですが。
※注意
ここでは、あくまでも、IPレベルでのお話しですので。
現実的には、iPhoneからのアクセスを検知するには、
PerlやPHPやJavaScriptを利用して、環境変数の「userAgent」から、
「iPhone」の文字列を検索した方が、絶対に現実的ですので。
▼IP範囲指定の「/」の意味
ところで、前述の「123.108.237.128/28」の「/28」とは、
どんな意味なんでしょうか?
もちろん、「/」とは、IPアドレスの範囲を意味しているのですが。
ただ単に、「allow from 123.108.237.128」と書けば、
「123.108.237.128」からのみのアクセスを許可する命令になります。
しかし、「/」を入れる事で、より多くのIPの範囲を指定する事が可能です。
「123.108.237.128/28」と書けば、
「123.108.237.128〜123.108.237.143」の範囲の
IPアドレスを意味します。
そして、驚く事に、
「123.108.237.128/1」と書けば、
「0.0.0.0〜127.255.255.255」の広範囲の、
「2147483648」種類の、21億個のIPアドレスを、一度に指定できるのです。
これは、意外とビックリですよね〜。
▼サブネットマスクの理解は難しい
例えばですが、「111.111.111.0/24」なんて書いてあると、いかにも
「111.111.111.0〜111.111.111.24」までのIPを意味するように思います。
(WIFIルーターの簡易設定なんかと勘違いする場合が多い)
ところが、IPアドレスの範囲を指定する時に使われる「/」には
プレフィックス表記という、特殊な表現が使われています。
「111.111.111.0/24」という表記は、
「111.111.111.0〜111.111.111.24」の範囲ではなく、
実際は、「111.111.111.0〜111.111.111.255」を意味します。
この辺は、サブネットマスクという概念を勉強しないと、
なかなか理解できません。(「/」以下の意味としてです)
そこで、こんな便利なサイトがあります。
「サブネットマスク計算(IPv4)/サブネット一覧(早見表)」
このサイトのCGIを使わせてもらえば、
ネットワーク・アドレスと、サブネットマスクの理屈を知らなくても
容易に、IPアドレスの範囲を指定する事が可能になります。
★参考【IPという数字の謎】については、コチラを。
▼▼▼▼
まるっきりの初心者でも簡単にワードプレスサイトが作れます。
サーバー契約やドメイン取得から、
具体的なワードプレス運用までを動画で学べます。
テーマの決め方、プラグインのインストール。内容はかなり濃いですよ。
▼このHPに連動した、メルマガも発行させてもらっています。もし気分が乗ったら、登録してもらえれば嬉しいです。
☆リンク集