.htaccess 特定のホスト、IPの許可と制限
問題点
WordPressの「wp-admin」ディレクトリーなど、セキュリティー面で少しでも防御するために、BASIC認証をなどを設定することがある。しかし、自分のサイトのWordPressの管理画面に入ってのスクレイピングなど、特殊な用途の場合など、特定のIPを制限したい時などがある。
IPの許可と制限方法
基本的には、各ディレクトリーにおいてある、「.htaccess」ファイルにて設定します。
order allow,deny
allow from all
deny from 制限をかけるホスト、IP
deny from 制限をかけるホスト、IP
deny from 制限をかけるホスト、IP
この設定に関しては、
「order allow,deny」は、allow(許可)、deny(拒否)の順番を記入するという宣言です。この後に記載する、allow、denyの順番が決まりますので、注意が必要です。
「allow from all」は、特定のホスト以外のアクセス全てを許可すると言う意味です。
「deny from」は制限をかけるホスト、IPを指定します。複数指定する場合は、1行ずつ指定します。
まとめると、
許可、拒否の順番に宣言。
すべてのIPアドレスはアクセス許可。
ただし、指定したIPアドレスを除きます。
となります。
BASIC認証なしでアクセスするには
前項の「IPの許可と制限方法」が基本となります。
WordPressの「wp-admin」ディレクトリーにある「.htaccesss」(ない場合は作成)に下記コードを記載。
Satisfy Any
order deny,allow
deny from all
allow from 制限をかけるホスト、IP
AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /WEB公開していないディレクトリー/.htpasswd
require valid-user
この設定は、先ほどとは、逆で、
拒否、許可の順番に宣言。
すべてのIPアドレスはアクセス不可。
ただし、指定したIPアドレスを除きます。
となります。
後半の「AuthType Basic」は一般的なBASIC認証のやり方です。
注意点は、「.htpasswd」をWEB上から見れるディレクトリーに置かないことです。
あえて、最後に説明ですが、「Satisfy Any」はいずれかの条件が通ればよいということです。ここがこのコードのミソです。何も記載していないディフォルトの設定では「Satisfy All」となっており、全ての条件をクリアしないとアクセスできないになっています。
オススメ記事
問題点 ある日の、Google Analyticsを見ている…
WordPress Jetpack 12.1.1 重要なセキュリティーホール対策…
問題点 2023年5月30日、WordPressの人気プラグ…
Luxeritasでアイキャッチ画像を記事内に表示する方法…
問題点 WordPressのテーマ、「Luxeritas」の…
ディスカッション
コメント一覧
まだ、コメントがありません