Basic認証を使ってデジタルブックの閲覧制限をする方法

作成したデジタルブックを、見せる人を限定したいと思ったことはありませんか?

 

meclibシステムサーバー上で公開するデジタルブックでは、標準機能で閲覧制限(※1)を設定できます。

※1…閲覧制限は、meclibサーバーライセンスプランとクラウドプラン プレミアムコースでご利用いただける機能です。

しかし、meclibシステムサーバからダウンロードして任意のWebサーバー上で公開しているデジタルブックについては(システムサーバーから切り離されるため)、meclibの機能から閲覧制限を設定できません。

 

そこで、任意のWebサーバーで公開する場合に、閲覧制限を簡単に導入する方法として、Basic認証を利用する方法があります。

 

この記事では、デジタルブックにBasic認証を設定するための方法をご説明します。

 

 

Basic認証とは

Basic認証は基本認証とも呼ばれ、Webサイトに対して最も簡単に利用できる認証方法の一つです。

 

Basic認証が設定されているWebページにアクセスした際、ポップアップのウィンドウが表示され、そこに予め設定しておいたユーザーIDとパスワードを入力することで、ログインできるというものです。

 

 

簡単な認証機能であるため、セキュリティのレベルとしては低いという欠点はありますが、ほぼ全てのWebサーバーおよびブラウザに対応している点から、広く利用されています。

 

Basic認証の範囲

Basic認証は、ファイル個々にアクセスの制御をするのではなく、ディレクトリ毎で制限しています。

 

meclibのシステムサーバーからダウンロードしたデータは、デジタルブックの動作に必要な全てのファイルが「book」フォルダに格納されています。ですので、下記のように「book」ディレクトリに対してBasic認証を設定することで、デジタルブックの閲覧に制限がかかります。
また、それ以外のページには制限なくアクセスできるようになります。

 

▼サイトディレクトリの例
www.demo.com
├index.html
├pamphlet01
|└book ←bookディレクトリに対しBasic認証を設定
| ├index.html
| ├print.html
| ├common
| |└css
| |…
├img
|└img01.jpeg
└common

※bookディレクトリ内の全てのディレクトリとファイル(赤字部分)には認証制限が設定されます。

 

Basic認証の設定方法

Basic認証を設定するには、”.htaccess”と”.htpasswd”の2つのファイルを用意して、認証対象にしたいディレクトリに設置する必要があります。(前述ではbookディレクトリに設置しました)

 

.htaccessとは

Webサーバー上の動作をディレクトリ単位で制御するためのファイルです。
Basic認証以外に、リダイレクトや404エラーページの作成に使用できます。

 

.htpasswdとは

認証ユーザー情報を管理するためのファイルです。
ユーザーIDやパスワードを決まったフォーマットで記述し、”.htaccess”ファイルと合わせて利用することによって、アクセス制限が可能になります。

 

.htaccessの書き方

メモ帳などを使用して下記を記述します。

 

 

AuthUserFile ルートディレクトリからのパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Input your ID and Password"
AuthType Basic

require valid-user

<files ~ "^¥.(htaccess|htpasswd)$">
deny from all
</files>

 

1行目:AuthUserFile ルートディレクトリからのパス/.htpasswd

ここでは、”.htpasswd”ファイルの設置場所までのパスを記述します。
サーバーのルートディレクトリからのパスになりますので、注意して下さい。
※前述のbookディレクトリに設置する場合は、パスの末尾が”~/book/.htpasswd”となります。
※ルートディレクトリからのパスが分からない場合は、サーバー管理者様にご相談ください。

2行目:AuthGroupFile /dev/null

ここでは、グループ単位でのアクセス制限を行うかどうかを記述します。
今回はグループ単位の設定は行いませんので、そのまま”/dev/null”と記述します。

3行目:AuthName “Input your ID and Password”

ここでは、認証画面に表示されるメッセージを記述します。
基本的に日本語(全角文字)ではなく、半角英数字で記述してください。

4行目:AuthType Basic

ここでは、認証の方式について記述します。
ベーシック認証なら「Basic」、ダイジェスト認証なら「Digest」と指定しますが、今回はBasic認証を設定しますので、”Basic”と記述します。

6行目:require valid-user

ここでは、アクセスを許可するユーザーについて記述します。
“valid-user”と記述することで.htpasswdで指定するユーザーが対象となります。

8~10行目:deny from all

ここでは、Webブラウザから.htaccessと.htpasswdファイルが見えないように設定しています。
そのまま3行で記述してください。

 

上記全ての記述が完了したら、ファイル名を”.htacsess”で保存します。

 

.htpasswdの書き方

.htaccessと同様に、メモ帳などを使用して下記を記述します。

 

ユーザーID①:パスワード①
ユーザーID②:パスワード②

 

ユーザーIDとパスワードを【 : (コロン)】で繋いで記述します。

Basic認証では、複数ユーザーの設定も可能ですので、ユーザー毎に改行で記述してください。

 

尚、ユーザー名は半角英数字でそのまま記述しますが、パスワードはパスワードの文字列そのものを記述せず、エンコードしたもので記述する必要があります。

エンコードについては、様々な無料サービスがありますので、調べてご利用をお願いします。
▼今回は下記のサービスを利用してみました。


※サーバーによってエンコード方式が異なりますので、ご注意ください。

 

全ての記述が完了したら、ファイル名を”.htpasswd”で保存します。

※実際の認証では、エンコード前のパスワードを使用しますので、エンコードする前のパスワード情報は、別途保管することをお勧めします。

 

meclibダウンロードデータへの設置

 

meclibシステムサーバーから、外部サーバー公開用にダウンロードしたZIPファイルを解凍します。

そして解凍後のbookフォルダ内に前述で保存した”.htaccess”と”.htpasswd”のファイルを格納します。

その格納したデータをフォルダごと、FTPクライアントソフトなどでアップロードすれば設定完了となります。

 

 

 

まとめ

基本的なBasic認証の設定方法は以上です。

 

今回はbookフォルダに対し認証の設定をしましたが、さらに上層のディレクトリに設置することで、公開する全てのブックに共通の閲覧認証制限をすることも可能です。

 

しかし、冒頭でも書きました通り、セキュリティに関しては不十分な点もありますので、ご利用の際は運用面をしっかり考えていただき利用するようにしてください。