ホームページのアクセス制御
(2009.04.17-2023.2.22)
robots.txt
ホームページは,robots.txtに,
User-Agent: *
Disallow: /
と書いて,検索されたくないディレクトリに設置すれば,そのディレクトリその中のディレクトリ内のファイルは検索エンジンで検索されなくなる。こうしておけば,以下のBASIC認証でパスワードを設定する必要はほとんどなくなる。
ホームページのパスワード
BASIC認証(UNIX標準認証)で,ホームページにパスワードをつける方法.「認証方法には,CGIによる方法,JavaScriptによる方法等ありますが,BASIC認証が一般的であり他の方法に比べてセキュリティ面でも心配を生じさせない環境を作る事が出来る」.
(環境)Turbo Linux 7.0 + Appace, CentOS 5.3
.htaccess の作成
ホームページを管理するユーザーでログイン.そして,パスワードを施すページのディレクトリに,以下のような内容のテキストファイルをつくる.
AuthType Basic
AuthUserFile /home/www/etc/passwd.dat
AuthName "Enter password"
Require user students
2行目はパスワードファイルの絶対パス.
3行目はログインするときのダイヤログに表示するメッセージ.
4行目はユーザーstudentsのみを許可する設定.
4行目を Require valid-user とすると,パスワードファイルに書いたユーザーはすべて許可する設定.
ファイル名,属性は以下のとおり.
$ ls -la
-rw-r--r-- 1 fukuda www 101 Apr 15 15:03 .htaccess
パスワードファイルの作成
パスワードファイルを作るディレクトリでhtpasswdコマンドが使えるか,確認.
$ htpasswd
Usage:
htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
On Windows, TPF and NetWare systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.
使い方は,この表示通りで,
パスワードファイルの新規作成:
$ htpasswd -c passwd.dat students
パスワードの更新:
$ htpasswd passwd.dat students
ユーザーの追加:
$ htpasswd passwd.dat username
Apache httpd.confファイルの修正
rootで/etc/httpd/conf/httpd.confを以下のように修正.
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
# AllowOverride None
AllowOverride All
Apacheの再起動.
# /etc/rc.d/init.d/httpd restart
.htaccess の色々な設定
アクセス元のIPアドレスを制限するには:
.htaccessファイルに以下を加える.
Order Deny,Allow
Deny from all
Allow from 133.35
Allow from .ax.ne.jp
3行目は133.35で始まるIPアドレスからのアクセスを許可している.
4行目は末尾が.ax.ne.jpで終わるアドレスからのアクセスを許可している.
内部など,指定したIPアドレスからのアクセスではBASIC認証をしないようにするには:
.htaccessファイルにさらに以下を加える.
Satisfy Any
これで,IPアドレスの制限で指定したアドレスからは,BASIC認証なしで(パスワード無しで)アクセスできる.
参考
ホームページにパスワードを付ける方法 (http://sys.chro.co.jp/~kouzzy/htaccess.html)2004.6現在