Atelierで“base64”タグの付いているブログ記事

2009年4月 2日

隠居のHP:ページへのアクセス制限を .htaccess で設定する

 著作権の問題などで、以前にアクセス制限をかけたページを作成していた。
今回、公開したくないページを自分用につくりたかったので、以前に設定したときの方法を歳をとって衰えた記憶を頼りにたぐってみたが、細かい点までなかなか思い出せない。
再学習して新たにアクセス制限を設定したので、備忘録として記録しておきたい。
 今回参照させていただいたのは、ChamaNet というサイトが無償で提供しているベーシック認証である。詳細はこのページに詳しいが、記録はリンク切れになったときの用心のためである。

 アクセス制限は、.htaccess ファイル内に記述する。 .htaccess はMovable Type のバージョンアップにともないブログのURL を変更したときにも使った。詳しくは、<.htaccess で移転先URLページへ誘導する:MT4.1 >にアップしている。

 ページにアクセス制限をかける方法は、FTP を使い慣れておればそれほど時間はかからない。
Chamanet が提供してくれている次のようなテキスト・ファイルを Notepad かなにかで(私の場合は、秀丸を使っている)作成し、htaccess.txt とする。(FTP に FFFTP を使っている場合は、.htaccess というファイル名もOKである)
AuthUserFile /home/xxxxxx/n-shuhei.net/public_html/xxxxxxx/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

/home/xxxxxx/n-shuhei.net/public_html/xxxxxxx/ の部分はサーバーのルートディレクトリからアクセス制限をするディレクトリまでのフルパスである。

 .htpasswd は、ID(ユーザ名)とパスワードを:で区切った1行のファイルである。例えば、次のような表現になる。
nshuhei:KRQF6dfVUaeqo
パスワードは、base64 で暗号化されている。パスワードを base64 で暗号化するサービスは、上のベーシック認証のようないろいろなページで提供されている。
この .htpasswd ファイルをアクセス制限をしようとするディレクトリー(フォルダー)に、.htaccess ファイルとともに置けばよい。

 このような設定をしたあと、私がレンタルしているサーバーの Xserver を覗いてみると、ユティリティとして「アクセス制限」が提供されていることが判明した。自分が設定したフォルダー名一覧が表示され、フォルダー毎のアクセス制限の on off を切り替えるだけでアクセス制限を設定できる。この方法で上で設定したフォルダーのアクセス制限を on にして .htaccess ファイルの中味をみると 上述したコードが重複して書かれていた。
 レンタル・サーバーも、どんどん進化しているようである。このような作業をする場合には、先ず第一にレンタル・サーバーのユティリティを覗いてみる必要がある。