web関連

【.htaccess】特定のIPを除外してベーシック認証をかける方法

2019/10/16

2019/10/19

【.htaccess】特定のIPを除外してベーシック認証をかける方法

特定のIPアドレス以外からのアクセス時はベーシック認証をかけた時のメモ

特定のIPアドレス以外からのアクセスはベーシック認証

Satisfy Any

# ベーシック認証をかけるためのコード
AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /home/ドメイン名/フォルダ名/.htpasswd
require valid-user 

# 特定のIPアドレスを除外する記述
order deny,allow
deny from all
allow from 000.000.000.00

Satisfy Anyが「OR条件」の役割をするみたい
今回のコードはベーシック認証かIPどっちかが通ってればアクセスできるってコード

デフォルトの設定はSatisfy Allで「AND条件」になるみたいだからSatisfy Anyは必須
でも、Satisfy Anyの位置がそこでいいのかはよくわからない

.htpasswdに設定するコードは以下サイトで生成できる

.htpasswd生成ツール

 

「Satisfy Any」を使った書き方は古いみたい

Satisfy Anyを使った書き方がApache2.2までの書き方らしくて2.4以降は<RequireAny>を使った方がいいみたい

参考

AuthType Basic
AuthName "Local Informatin for Hoge"
AuthUserFile /home/ドメイン名/フォルダ名/.htpasswd

<RequireAny>
Require ip 000.000.000.00
Require valid-user
</RequireAny>

上のコードを書き直すとこう

動いた
 

ファイルパスはサーバーのコンパネから確認した方がいいかも
サーバーによって構造違うから…(1敗)