ホームページ作成/アクセス制限・認証、サイト内検索

Basic認証(基本認証)でアクセス制限をかける方法(5ページ目)

ウェブサイト内の特定ページやディレクトリにアクセス制限を施す設定方法として、Basic認証(ベーシック認証/基本認証)の使い方を初心者向けに解説。ユーザー名(ID)とパスワードの入力が必要な会員制ホームページの作成方法をご紹介。HTMLの修正は不要で、.htaccessファイル等を書けば簡単にパスワード認証を設定できます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

.htaccessと.htpasswdを第三者に見られないようにする方法

ブラウザで中身が見える場合

ブラウザで中身が見える場合

ウェブサーバの設定が記述された.htaccessファイルや、認証用のユーザー名(ID)とパスワードを記述した.htpasswdファイルは、第三者には見られない方が望ましいファイルです。

ウェブサーバによっては、これらのファイルは直接URLを指定してアクセスしても、最初から表示されない設定になっている場合もあります。もし、そう設定されておらず、直接ブラウザでアクセスすると中身が見えてしまうなら、見えないように設定しておきましょう。

ブラウザからの閲覧を拒否する設定方法
.htaccessと.htpasswdの2ファイルをウェブ上で閲覧できないように設定するには、.htaccessファイルに以下の3行を追記します。
<Files ~ "^\.ht">
   deny from all
</Files>
.htaccessに追記

.htaccessに追記

上記の3行を.htaccessファイルに記述しておくと、.htaccessや.htpasswdなど「.ht」で始まるすべてのファイルへのアクセスが拒否されます。

※ここで拒否されるのはブラウザなどを使ったウェブ上での閲覧だけであり、Basic認証の機能には影響しません。

 
.htpasswdファイルの中身が第三者に見られても、パスワードはハッシュ化されていますから元のパスワードが判明するわけではありません。しかし、絶対に判明しないというわけでもありません(※)。また、ユーザー名はそのまま含まれているため知られてしまいます。したがって、見えないように隠しておく必要があります。

※例えば、自分が過去に「goma」というパスワードをハッシュ化して「Z9hdKWeuMi7jI」という変換結果を得ていたとします。たまたま閲覧できた第三者の.htpasswdファイル内にも同じ「Z9hdKWeuMi7jI」があれば、パスワードは「goma」なのだと分かってしまいます。

そもそもブラウザから閲覧できない場所に置く方法
上記の3行を.htaccessファイルに追記する以外に、そもそもブラウザから閲覧できない場所に置く方法もあります。

仮にお使いのウェブサーバで /home/user/www/ ディレクトリ以下がウェブとして公開される仕様なら、例えば /home/user/pw/ というディレクトリを作成しておいて、そこに.htpasswdファイルを置きます。この方法なら、.htpasswdファイルはウェブ上には存在しないことになるため、ブラウザからは閲覧しようがありません。

 

Basic認証を使って、ユーザー名(ID)とパスワードによるアクセス制限をかける方法

Basic認証でアクセス制限

Basic認証でアクセス制限

今回は、ウェブサーバの設定ファイルである.htaccessファイルを利用することで、Basic認証を使ってアクセス制限を設定する方法をご紹介いたしました。

特定のユーザーだけにアクセスを許可する会員制ウェブサイトを作りたい場合や、テストサイトを関係者だけで閲覧したい場合など、アクセスできる閲覧者を制限したい場合にぜひ活用してみて下さい。

 
なお、アクセス制限に関係する解説としては、以下の関連記事もぜひご参照下さい。

 
【関連記事】
【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 3
  • 4
  • 5
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます