.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」となっており、全ての条件をクリアしないとアクセスできないになっています。
オススメ記事
WordPress用のデータベースのIDとPASSを忘れた時の対処法…
問題点 WordPressにしか使っていないデータベースだと…
PHP アクセスログ プログラム 生ログ風 WordPressにも組み込み方法…
問題点 レンタルサーバ「ConoHa WING」でアクセスロ…
WordPress エラー「更新に失敗しました。返答が正しいJSONレスポンスで…
問題点 WordPressの記事を編集しており、保存や公開し…
ディスカッション
コメント一覧
まだ、コメントがありません