昨日、『Apache2.4の場合の.htaccess』という記事にて『Apache 2.4』での『アクセス制御』の記述方法が『Apache 2.2』から大きく変更されていることをお伝えしました。

Apache2.4 .htaccess 続編

皆さん、こんにちは。

業務改善を行うIT・業務コンサルタント、高橋です。

今日は昨日の続きになります。

『Apache 2.4』では『アクセス制御』の記述方法が『Apache 2.2』から大きく変更されていますので、昨日に続き、今日はいくつかの記述方法をお伝えします。

Apache2.4でのアクセス制御サンプル

<すべての要求を拒否する>

これだけは昨日の投稿でも書きましたが念のため。

(Apache 2.2)

Order deny,allow
Deny from all

(Apache 2.4)

Require all denied

<すべての要求を許可する>

(Apache 2.2)

Order allow,deny
Allow from all

(Apache 2.4)

Require all granted

<IPを指定する場合>

(Apache 2.2)

・許可:Allow from 192.168.0.1

・拒否:Deny form 192.168.0.1

(Apache 2.4)

・許可:Require ip 192.168.0.1

・拒否:Require not ip 192.168.0.1

<環境変数を利用する場合>

(Apache 2.2)

SetEnvIf User-Agent “Googlebot” Allowbot
Allow from env=Allowbot

(Apache 2.4)

SetEnvIf User-Agent “Googlebot” Allowbot
Require env Allowbot

こんな感じになります。

少しまとめてみると『Apache 2.4』では以下のようになります。

・すべてを許可:Require all granted

・すべてを拒否:Require all denied

・個別指定で許可:Require ip 192.168.0.1 / Require host example.com / Require env example

・個別指定で拒否:Require not ip 192.168.0.1 / Require not host example.com / Require not env example

<条件ディレクティブ>

今まで記述したものに加え、『Apache 2.4』では以下の『ディレクティブ』を使って条件を指定できます。

・RequireAll:すべての条件にマッチすれば許可

・RequireAny:条件に一つでもマッチすれば許可

・RequireNone:条件に一つでもマッチすれば拒否

例えば、Basic認証でIPアドレスも条件に加えた場合、

<RequireAll>
Require user admin
Require ip 192.168.0.1
</RequireAll>

(AuthUserFile、AuthGroupFile、AuthName、AuthTypeなどはApache 2.2と同じです。)

といった感じになります。

ご参考までに。

Ads

この記事を書いた人

  • 業務コンサルタント高橋晋吾
  • 1968年生 愛知県名古屋市出身 会計・給与・販売購買在庫・税金系などの業務システムを製造・販売する某上場企業の出身で、会計・IT・WEBを中心とした業務改善などを行う業務コンサルタント
  • 中小企業庁『ミラサポ』登録専門家/あいち産業振興機構登録専門家/名古屋産業振興公社登録専門家
  • (Publisher:TRILOGYFORCE.COM)

この記事をシェアする

  • Facebookにシェア
  • はてなブックマークにシェア
  • LINEにシェア

関連記事

お問い合わせ

お悩み・問題・課題を今すぐご相談ください。お問い合わせはこちら

ページのトップへ戻る