☆☆ 新着記事 ☆☆

2018年6月27日水曜日

.htaccess アクセス制限


1. ディレクトリ全体にアクセス制限

1行だけ。

deny from all
「ディレクトリ内をまるごとアクセス拒否する」設定は、CGIが内部で利用するだけのデータが格納されたディレクトリなどで、第三者に勝手にダウンロードされると不都合がある場合に活用。」
例えば、
(1) CGIの設定やパスワード記述ファイルが格納されているディレクトリ
(2) ブログツールのデータベース格納用ディレクトリ

2. 指定ファイルにアクセス制限


■記述 (※単一のファイルをアクセス拒否)
この場合は、先ほどの記述に「対象ファイルを指定する記述」を加えます。 例えば、以下のように記述します。
 
<Files 対象ファイル名> deny from all </Files>
「対象ファイル名」部分には、アクセスを拒否したいファイル名を記述します。 例えば、「 password.dat 」ファイルを指定する記述は、以下の通りです。
 
<Files password.dat> deny from all </Files>

■記述 (※複数のファイルをアクセス拒否)
特定の拡張子が付いたファイルをすべてアクセス拒否したいなら、以下のように記述します。
 
<Files ~ ".dat$"> deny from all </Files>

ファイル名の代わりに、「 ~ 」(チルダ記号)を記述すると、その後に正規表現を記述できます。 その正規表現にマッチするファイルがすべてアクセス拒否の対象になります。
上記は、拡張子「.dat」のファイルを指定した例です。
もし、複数種類の拡張子を対象にしてすべてアクセス拒否したいのであれば、以下のように記述できます。
 
<Files ~ ".(dat|pm|ini)$"> deny from all </Files>

上記は、拡張子「.dat」と「.pm」と「.ini」の3種類のファイルを対象にした例です。
このように書いておくだけで、該当するファイルへは、自分も含めて誰もアクセスできなくなります。
※サブディレクトリにあるファイルに対してもアクセス拒否は有効です。

3.IPアドレスによるアクセス制限

記述 (※IPアドレスを指定)
この場合は、「一旦すべてのアクセスを拒否する」記述と、「例外としてアクセスを認める」記述を加えます。 例えば、以下のように記述します。
order deny,allow
deny from all
allow from 202.222.92.201
この3行の意味は、以下の通りです。
[1行目] 拒否設定→許可設定の順で解釈させる
[2行目] あらゆるアクセスを拒否する
[3行目] IPアドレス「202.222.92.201」からのアクセスだけを許可する
上記のように記述すると、IPアドレス「202.222.92.201」からアクセスした場合だけアクセスが許可され、 それ以外のIPアドレスからのアクセスはすべて拒否されます。
ここに自分が利用しているIPアドレスを記述しておけば、自分だけがアクセスでき他人からのアクセスを拒否できるわけです。
なお、大学や会社など、大きなネットワークが利用しているIPアドレスを記述した場合、同一のIPアドレスを用いてインターネットに接続しているユーザすべてからのアクセスを許可してしまうことになりますので注意して下さい。
(このことを利用して、ある特定の組織内からだけアクセスを許可する設定も可能です。)
■注意点
※プロバイダ提供の回線にダイアルアップ接続している場合は、インターネットに接続するたびにIPアドレスが変化してしまうことが多いため、この記述を活用することは難しいでしょう。 ADSLやFTTHのような常時接続環境であれば、あまりIPアドレスは変化しないので、(自分に割り当てられたIPアドレスが変化するまでは)この記述を活用できます。
※IPアドレスが頻繁に変更される環境を用いている場合は、基本認証を使った(IDとパスワードによる)アクセス制限を施す方法が現実的でしょう。
※自宅内でLANを構築している場合(=インターネット接続にブロードバンドルータなどを用いている場合)、各PCに割り当てられているIPアドレスは、たいていグローバルIPアドレスではなくプライベートIPアドレスです。 その場合、「.htaccess」ファイルへは、ルータなどに割り当てられている「グローバルIPアドレス」の方を記述しなければなりませんので注意して下さい。 (プライベートIPアドレスを記述しても意味がありません。)
■記述 (※ホスト名を指定)
IPアドレスのほか、ホスト名を記述することもできます。
order deny,allow
deny from all
allow from .allabout.co.jp
上記だと、allabout.co.jp ドメインからのアクセスだけが許可されます。
※abc.allabout.co.jp や xyz.allabout.co.jp などからもアクセスできます。
なお、許可するIPアドレスやホスト名の記述は、以下のように必要なだけ列挙できます。
order deny,allow
deny from all
allow from 202.222.92.201
allow from 115.30.0.33
allow from .allabout.co.jp
allow from .about.com
■対象を限定
前ページでご紹介したように、アクセス拒否対象を限定して以下のように記述することも可能です。
<Files password.dat>
    order deny,allow
    deny from all
    allow from 202.222.92.201
</Files>
■用途
自分が利用しているIPアドレスを記述しておけば、自分以外のユーザからのアクセスを拒否できます。 また、自分の属する組織が利用しているIPアドレスやホスト名を列挙しておけば、その組織内からのアクセスだけを許可し、それ以外のアクセスを拒否できます。
自分だけが利用できればよいファイル置き場や、組織内だけで利用する掲示板を関係者などに活用できるでしょう。

参考)

https://allabout.co.jp/gm/gc/23976/1/

0 件のコメント:

コメントを投稿