Webサーバのアクセス制限方法メモ(2002/10/17)
ホームページをインターネットで公開してて、不特定多数(わけわからん奴)に見られるのは嫌だ!ってことありません? でもって一部のユーザだけに公開したい場合ってありますよね。そんな時に、アクセス制限をかける事によって簡単に実現することができるんです。
Apache に付属の認証ファイル作成ツールを使用します。
1.Basic認証用ファイルを作成します。当然の事ながらアクセス制限をかけるべき公開フォルダー内、それ以下に認証用ファイルを作成すべきではありません。 (※要は、公開ディレクトリとは無縁の場所に置けってこと)
# htpasswd -c /var/pwd/hoge.pwd hogehoge
※ htpasswd -c Basic認証用ファイル 追加したいユーザ
※ 2人目からは -c がいりません
htpasswd Basic認証用ファイル 追加したいユーザ☆ディレクティブによるアクセス制限:httpd.conf を編集し、アクセス制限をかけたいディレクティブに下記の指定を行います。
AuthType Basic
AuthName "Access Member Only!"
AuthUserFile /var/pwd/hoge.pwd
Require valid-user☆.htaccessによるアクセス制限:アクセス制限をかけたい公開ディレクトリ以下に .htaccess を作成し、に下記の指定を行います。
AuthType Basic
AuthName "Access Member Only!"
AuthUserFile /var/pwd/hoge.pwd
Require valid-user※.上記アクセス制限は、同じ様に思えますが、httpd.conf → .htaccess の順にアクセス制限を決めていきます。
※."httpd.conf"を書き直した場合は、apache の再起動では無く、停止&起動をしてください。再起動だけだと、Basic認証のディレクティブ設定が反映さればい場合があります。(←私は、これで1時間ハマった)
☆ディレクティブによるアクセス制限:httpd.conf を編集し、アクセス制限をかけたいディレクティブに下記の指定を行います。
<Directory アクセス制限するディレクトリパス>
order deny,allow
deny from all
allow from 203.0.
allow from 203.0.1.50/255.255.255.0
</Directory>☆.htaccessによるアクセス制限:アクセス制限をかけたい公開ディレクトリ以下に .htaccess を作成し、に下記の指定を行います。
order deny,allow
deny from all
allow from 203.0.
allow from 203.0.1.50/255.255.255.0
AllowOverride ディレクティブを以下の様に修正します。このディレクティブは、セキュリティと密な関係にあるため、設定する場合には注意が必要です。
AllowOverride All
Options FollowSymLinks
AllowOverride AuthConfig Limit