.htaccessでwebサイトの海外IPアクセスを除外する方法

web/ホームページ制作, エンジニアリング, 制作Tips

はじめに

ウェブサイトのセキュリティを向上させるために、.htaccessファイルを使用して海外からのアクセスを制限する方法についてご紹介します。これにより、不正なアクセスや攻撃からの保護が可能です。

また、Googleや他の検索エンジンのクローラーアクセスは除外せずに許可する設定も行います。

下記が今回設定するコードです。書かれている内容については以下で詳しく解説していきます。

Apache
SetEnvIf User-Agent "Googlebot" allowbot
SetEnvIf User-Agent "msnbot" allowbot
SetEnvIf User-Agent "bingbot" allowbot
SetEnvIf User-Agent "Slurp" allowbot

order deny,allow
deny from all

allow from env=allowbot

allow from googlebot.com
allow from google.com

allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
中略
allow from 223.223.224.0/19
allow from 223.252.64.0/19
allow from 223.252.112.0/20

1.Googleなどの検索ボットは許可する

Apache
SetEnvIf User-Agent "Googlebot" allowbot
SetEnvIf User-Agent "msnbot" allowbot
SetEnvIf User-Agent "bingbot" allowbot
SetEnvIf User-Agent "Slurp" allowbot

上記のコード箇所では、Googlebot、msnbot、bingbot、およびSlurpのユーザーエージェントを持つクローラーに対してallowbotという環境変数をセットしています。

2.IP制限の設定

Apache
order deny,allow
deny from all

allow from env=allowbot
allow from googlebot.com
allow from google.com

allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
中略
allow from 223.223.224.0/19
allow from 223.252.64.0/19
allow from 223.252.112.0/20

上記のコード箇所では、order deny,allowアクセスの制御順序を指定し、deny from all最初にすべてのアクセスを拒否しています。

次に、先にセットしたallowbot環境変数に一致するクローラーや特定のドメイン、国内IPアドレス帯域を許可する設定を行っています。

3.国内IPアドレスの取得

国内のIPアドレスをすべて取得する必要があるため、IPアドレスで日本国外(海外/外国)からのアクセスを制限する.htaccess CGI’sfetusから.htaccess制御用のリストをダウンロードし、下記のコード箇所にすべて記載します。

便宜上、下記のコード内では中略してますがダウンロードしたIPリストは全て記述してください。

Apache
allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
中略
allow from 223.223.224.0/19
allow from 223.252.64.0/19
allow from 223.252.112.0/20

この設定により、海外からの一般的なアクセスを制限しつつ、Googleや他の検索エンジンのクローラーアクセスは許可されます。

必要に応じて、IPアドレス帯域やドメインを調整してください。

関連記事related post

効果的なLP(ランディングページ)制作:成功のためのポイント

ホームページの必要性が感じられるメリットとは?【調査データから徹底分析】

デザイン効率が上がる!Photoshopジェネレーティブ塗りつぶしの使い方

傑出したクリエイティビティが輝く、韓国の優れたグラフィックデザイン会社7選