.htaccessによる接続IPアドレス制限
1 概要
2 IPアドレスによる制限
1 概要
「. htaccess」について教えて。

「. htaccess(ドットエイチティーアクセス)」は、Webサーバの機能をディレクトリ単位で制御するものですね。

具体的には、ホームページに対するアクセスをIPアドレスやホストの指定により制限したり、BASIC認証によるID・パスワードによる認証をかけたりできます。

なるほど。ホームページのセキュリティ対策に使えそうだね。

はい!それでは、いろいろ試してみましょう。

「. htaccess」はメモ帳などで作成して、名前を「.htaccess」とします。

「. htaccess」を置いたWebサーバのディレクトリに効果が及びます。同じディレクトリだけでなく、サブディレクトリにも効果は反映されます。

IPアドレスの制限したら、サブディレクトリのページも同様の制限が反映されるんだね。

はい!なので、どのような効果がどこまでに及ぶのか、ちゃんと考えて、配置する必要がありますね。

サブディレクトリと上のディレクトリの両方に「. htaccess」があったらどうなるの?

その場合、サブディレクトリには、両方の「. htaccess」の設定内容が反映されます。

ただし、「. htaccess」の設定内容が競合した場合は、サブディレクトリに置かれた「. htaccess」ファイルの内容が優先されますね。

2 IPアドレスによる制限
それでは、IPアドレスによる「. htaccess」ファイルの記述を見てみましょう。

【①特定のIPアドレスからのアクセスのみを制限(ブラックリスト形式)】
#拒否を設定してから許可を設定する。
order deny,allow
#全てを拒否する。 allow from all #許可するアドレスを列挙 deny from 123.456.789 deny from 123.456.790 deny from sample.co.jp
【②特定のIPアドレスからのアクセスのみを許可(ホワイトリスト形式)】
#拒否を設定してから許可を設定する。 order deny,allow #全てを許可する。 deny from all allow from 111.222.111.222 allow from 123.12.1. allow from example.ne.jp
①拒否するIPアドレスを指定(ブラックリスト形式)なのか、②許可するIPアドレスを指定(ホワイトリスト形式)するのかで、コードの書き方が少し変わりますね。

また、「#」の行はコメント部で、コードに影響を与えません。

なるほど、①は全部のIPアドレスを最初に一回拒否してから、その後に許可するIPアドレスを個別に指定して、②はその逆なんだね。

その通りです。結果的に後に設定するものが優先されるって感じです✨

また、以下のサイトでは、指定した条件で自動的に「. htaccess」のコードを作ってくれるので、便利でおススメです。

【cman.jp/htaccess作成支援】
https://htaccess.cman.jp/explain/access_ip.html
お名前