勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

htaccessファイルにて特定のIPの場合のみBasic認証無し、その他の場合はBasic認証有りにする方法

  Apache サーバー

開発中の環境で指定したIPからのアクセスはBasic認証無しに、それ以外のアクセスはBasic認証有りにしてほしいと要望を受けた。PHP側で制御する必要があるのかと思いきや、調べてみたところhtaccessファイルにて対応できるみたい。以下に対応方法についてメモ。

 

対応方法

パターン1

IPの「xxx.xxx.xxx.xxx」部分は適宜変更すること。

<If "%{REMOTE_ADDR} != 'xxx.xxx.xxx.xxx'">
    AuthType Basic
    AuthName "Please enter your ID and password
    AuthUserFile /path/to/.htpasswd
    require valid-user
</If>

パターン2

IPの「xxx.xxx.xxx.xxx」部分は適宜変更すること。また、こちらは複数指定可能。

<RequireAny>
    Require ip xxx.xxx.xxx.xxx
    Require ip xxx.xxx.xxx.xxx

    AuthType Basic
    AuthName "Please enter your ID and password
    AuthUserFile /path/to/.htpasswd
    require valid-user
</RequireAny>

その他

どちらのパターンもapache2.4系じゃないとダメっぽい(調べた限りでは)。

古いバージョンだと使えない可能性があるので注意すること。

 - Apache サーバー

  関連記事

他ドメインから画像の呼び出し(直リンク)を禁止する方法
他ドメインから画像の呼び出し(直リンク)を禁止する方法

他ドメインからの画像の呼び出し、いわゆる直リンクの禁止を行いたかった。調べるとh ...

apacheで指定した期間(日時)のアクセスログを抽出する方法
apacheで指定した期間(日時)のアクセスログを抽出する方法

apacheのaccess_logとerror_logで特定日時内のログのみを確 ...

複数(PHP / metaタグ / htaccess)の方法で301リダイレクト
複数(PHP / metaタグ / htaccess)の方法で301リダイレクト

サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...

htaccessファイルで海外からのアクセスをIP制限する方法
htaccessファイルで海外からのアクセスをIP制限する方法

「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外 ...

Apache2.4で[access_compat:error]AH01797エラーの対処方法
Apache2.4で[access_compat:error]AH01797エラーの対処方法

Apacheのエラーログを追っていると「[access_compat:error ...