本記事はプロモーションを含みます

.htaccess 特定のホスト、IPの許可と制限

eyecatch_732

問題点

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」となっており、全ての条件をクリアしないとアクセスできないになっています。

問題が解決したら、お友達と共有しませんか?

この記事にいっぱいおごってみる?

KOBE WINGのAmazonほしい物リスト

オススメ記事

eyecatch_744

強調スニペット google 表示方法 意識した対策に関して…

概要 「ショートカット 矢印」のキーワードで、記事掲載時点で…

eyecatch_578

SEO結果 Google検索のクリック数と平均掲載順位の変動2021/01/01…

2021年1月1日にこのページを開設して約1ヵ月半経過しまし…

eyecatch_626

inputタグのCSSに「:focus」を使用時に出る青色の枠を消す方法…

問題点 HTMLのinputタグのCSSに「:focus」を…


WordPressWordPress

Posted by KobeWing