.htaccessは、サーバーのディレクトリを弄る上で欠かせないものでようするにアクセスを拒否するかしないかを設定ファイルと思っていただけばイメージはわくと思いますが、個人的なメモを兼ねて、複雑なIPの拒否方法を指定してみたいと思います。
例えば、61.247.192.0 - 61.247.223.255範囲を拒否しようとするとしましょう。普通は
order allow,deny
allow from all
deny from 61.247.
と、簡単に書いてしまうかもしれませんが、これだと61.247.0.0~61.247.191.255までの人もアクセス出来なくなってしまいますね。
ここで登場するのがネットマスクってのです。上のIPの範囲を拒否するのは
order allow,deny
allow from all
deny from 61.247.192.0/19
が正解。
これは、61.247.192.0というIPアドレスを2進数で計算し直すと
00111100 11110111 11000000 00000000
となり、61.247.223.255を2進数で表すと
00111100 11110111 11011111 11111111
という風になると思います。
計算方法は、IPアドレスは10進数なので2進数に計算する位、基本情報技術者試験程度のレベルを持っている方なら簡単だと思いますので、勝手に計算していただくとして、答えのdeny from 61.247.192.0/19の最後の19の部分は、先頭から19bit目まで同じ数字なので、その範囲を拒否することができるということになります。
他の書き方もありますが、こっちの方が仕組みも分かりやすいので、こちらのみを今回はメモしておくとします。
Posted by iamweak - 2009年04月30日 22:13 | トラックバック (0)