.htaccess設定例いろいろ(アクセス制限編)

.htaccess設定例いろいろ(アクセス制限編)Web開発者の備忘録最近やたらと使う事が多くなった .htaccess ファイル。
備忘録兼ねてよく使いがちな設定例をいくつかサンプルとして挙げておきます。

ディレクトリのアクセスを出来なくする

order deny,allow
deny from all

特定ファイルのみアクセス可能として、それ以外のファイルをアクセス不可とする

order deny,allow
deny from all
ErrorDocument 403 /error403.php

allow from all

携帯からのアクセスを許可する場合で、PCなどからはアクセス出来ない旨説明文を表示したい場合に使います。
・最初に全アクセス拒否。
・次に403(Forbidden:アクセス拒否)時の表示ファイル(/error403.php)を設定
・最後に/error403.php ファイルへのアクセスを許可する
という流れになります。

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

order deny,allow
deny from all
#docomo 2009/04/23
allow from 210.153.84.0/24
allow from 210.136.161.0/24

Docomo携帯からのアクセスを許可する例として作っています。
・最初に全アクセス拒否
・次に特定接続先(上の例ではDocomo携帯の一部)からのアクセスを許可
※実際には多数のIPアドレスがあるため、上記例では不十分です

特定の拡張子だけアクセスを拒否する

<FilesMatch “\.(ini\.php|lng\.php|txt|gz|tgz|zip)$”>
Order allow,deny
Deny from all

見られたら困るファイル(プログラム、データ、設定ファイルなど)にアクセス出来ないようにしています。

BASIC認証によるアクセス制限
.htaccess

AuthUserFile /home/XXXX/html/.htpasswd
AuthGroupFile /dev/null
AuthName “Password required”
AuthType Basic
require valid-user

deny from all

/home/XXXX/html/.htpasswd

admin:aabbccDDeEffgg

.htpasswd ファイルに認証させる分だけID/Passwordの組み合わせを用意し、それを.htaccessから読み込ませています。
なお、.htpasswdに書いてあるパスワードは、 MD5ハッシュをかけておく必要があります。
とにかく.htpasswdファイルが作れればよいのであれば
.htpasswdファイル作成ツールをご利用下さい。