LogoMark.png

BasicAuthentication

Basic認証

Basic Authentication

Basic認証とはWebサイトへのアクセスに対して、
ユーザー名とパスワードの入力を求めるユーザー認証の方法です。

当該サイトのフォルダに、 .htaccess.htpasswd という
2つのファイルを作って置くことで実現します。

CONTENTS


.htaccessファイルの作成

.htaccessファイルは、httpd.confで設定されているApache(httpサーバー)の各種設定を、ディレクトリごとに独自に変更するためのファイルです。
Apacheは、httpでアクセスされたフォルダに.htaccessというファイルがあると、それをまず読んで、IDとパスワードを要求します。

記述例

AuthType Basic
AuthName "Basic Authentication Sample"
AuthUserFile /home/sampleuser/public_html/test/.htpasswd
Require user sampleuser

ただし、上の4行をそのままコピー&ペーストしても動きません。
各行には下記とおり、それぞれ意味があるので、特に3、4行目については、あなたの設定に書き換える必要があります。

補足1:「絶対パス」の情報がない場合

パスワードファイルの絶対パスは、以下の手順で調べることができます。

で、最終的に .htaccess の AuthUserFile の部分(上記の例では3行目)には、以下のように記載すればOKです。

AuthUserFile /userX/k00ad000/WWW-KSU/.htpasswd


補足2:エリア外からのアクセスを拒否する場合

例えばアクセス元を社内ネットワーク等に限定する場合は、IPアドレスによる制限が簡単です。以下のような3行を、.htaccessの中に記載します。

order deny,allow
deny from all
allow from 133.17.

一旦、全拒否と書いて、特定のアドレスのみ認める・・・という意味です。
この例は、133.17.*.* ネットワーク内からのアクセスであればパスします。
本学で学内限定の場合、新規のテキストファイルに上記3行のみ書けばOKです。

注)効果がない場合は、こちらをご確認ください。



.htpasswdファイルの作成

次に、ユーザ名とパスワードを記述したファイルを作成します。

ユーザ名 : パスワード 例)  sampleuser:6HaskEn4F 

の形で記述して、これを(たった一行ですが)ファイルとして

.htpasswdという名前で保存します。

ただし、パスワードを暗号化する必要があるので、一般には
以下のような .htpasswd作成支援ツールを用いて生成します。
IDとパスワードを入力して「生成」するとソースが表示されますので、それをコピー&ペーストして .htpasswdファイルとして保存すればOKです。

htpasswdファイル生成|lufttooles

参考
Linux環境の方は、htpasswdというコマンドで簡単にファイルができます。
1)端末を開いて当該ディレクトリに移動
2)以下を実行

$ htpasswd -c .htpasswd sampleuser
New password: (パスワードを入力;画面には表示されません)
Re-type new password: (パスワードをもう一度入力)

3) 以下のような .htpasswdファイルが自動生成されます。

sampleuser : 6Has・・・kEn4F




動作確認

当該ディレクトリにアップ

.htaccessと.htpasswdを、あなたのサイトの当該ディレクトリ(パスワード保護をかけたいディレクトリ)内にFTPでアップロードして下さい。

当該ディレクトリにアクセスすると、認証を求めるウインドウが表示されるはずです。ユーザ名とパスワード入力して、正常に動作するか確認して下さい。



注)効果がない場合

.htaccessは、httpd.confにて利用可能な設定になっていないと使えません。
.htaccessの許可設定を変更するには、AllowOverride ディレクティブを使用します。httpd.conf 内に「AllowOverride None 」と記載があると無効です。
以下のように書き直す必要があります。

<Directory "/var/www/html">
  :
   AllowOverride All
  :
</Directory>

ちなみに、CentOS の場合、httpd.conf は、以下の場所にあります。

/etc/httpd/conf/





付記:Form認証について

フォーム入力によるユーザID・パスワードの送信とクッキーを用いたセッション管理を用いたユーザ認証を Form認証 といいます。
現在のWebサービスではフォームによるユーザ認証を行うのが主流です。

参考:Form認証の手順

PAGES

GUIDE

DATA

Last-modified: 2019-11-06 (水) 18:09:19