特定のIPを以外は、BASIC認証で認証をかける【.htaccess】

2022-07-19

Apache 2.2 で利用している「.htaccess」を参考にして、Apache2.4 系でIP制限をかけていました。
制限は、内容は以下の通りです。

  • 特定のIPアドレスはアクセス可能
  • 特定のIPアドレス以外は、BASIC認証でアクセス可能

「.htaccess」は、お客様で設置されており、自分の利用するIPアドレスを変わったので、その「.htaccess」にIPアドレスを追加して動作確認すると、自分のIPアドレスをコメントアウトしてもアクセスできましたので、この「.htaccess」のIPアドレスが聞いてない状況でした。

その時の「.htaccess」は以下のような感じです

Satisfy Any

# IP制限
Require all denied
Require ip x.x.x.x
Require ip x.x.x.x

#Basic認証
AuthType Basic
AuthName "Please enter your ID and password"
AuthUserFile /var/www/html/.htpasswd 
require valid-user

一部、IP制限の箇所は、Apache 2.4に対応していますが、「Satisfy Any」の記述は、Apache 2.2系の書き方で、Apache 2.4以降は<RequireAny>~</RequireAny>に使った書き方に変わっています

特定のIPを以外は、BASIC認証で認証をかけるには、以下のように<RequireAny>~</RequireAny>の間に、特定のIPアドレスのみ許可する「Require ip x.x.x.x」とBASIC認証で認証されたユーザーのみアクセス可能な「Require valid-user」を記載すればOKでした

AuthType Basic
AuthName "Please enter your ID and password"
AuthUserFile /var/www/html/.htpasswd 

<RequireAny>
Require ip x.x.x.x
Require valid-user
</RequireAny>

 

スポンサーリンク

0
0