中国などの特定の国をブロックしたり、日本だけアクセス許可したりする、apacheの .htaccessファイル用の設定です。
Linux で作成します。
iptables での制限の場合は、以下の記事の方を見て下さい。
iptables - 国内からの接続のみ許可して海外からの接続を遮断する パソコン鳥のブログ
特定の国を許可したり拒否する iptables設定 パソコン鳥のブログ
次のサイトで公開されているリストを使用します。
次のコマンドでリストを取得します。
wget http://nami.jp/ipv4bycc/cidr.txt
特定の国をブロックする .htaccessファイルは、次のように作成します。
まず、下記を実行します。この例では、中国をブロックする場合です。
他の国をブロックしたい場合は、cn の部分を、ドメイン名の種類 – JPNIC を参照して、別の国コードに置き換えて下さい。
grep -i cn cidr.txt|sed -r "s/cn\s+/deny from /i" > deny_from.txt
deny_from.txt が出来ます。
下記の .htaccess ファイルのように order allow,deny、allow from all に続けて、deny_from.txt の内容をコピーして下さい。
.htaccess
order allow,deny allow from all deny from 1.0.1.0/24 deny from 1.0.2.0/23 ...(省略)
日本だけアクセス許可したい場合は、以下を実行します。
grep -i jp cidr.txt|sed -r "s/jp\s+/allow from /i" > allow_from.txt
allow_from.txt が出来るので、下記の .htaccess ファイルのように order deny,allow、deny from all に続けて、allow_from.txt の内容をコピーして下さい。
.htaccess
order deny,allow deny from all allow from 1.0.16.0/20 allow from 1.0.64.0/18 ...(省略)
コメント