.htaccessでベーシック認証を設定

2013/10/28

ベーシック認証とは?

概要

ベーシック認証とはWebサイトを閲覧するときに使うHTTPで行える認証方式です。
とても簡単に設定することが出来るところや、ほとんどのサーバーやブラウザに対応していることから広く使われています。

ネットではApacheでのサンプルが多いですが、その他のサーバーソフトでも利用できます。

盗聴、改ざんの注意

認証設定した個所にブラウザからアクセスすると、IDとパスワードの入力が求められます。
これらを入力して送信し、サーバー上の認証情報と一致するか確認が行われます。
そして、一致した場合に認証が許可されるという流れになっています。

このIDとパスワードをサーバーに送信するときは、暗号化されていなく生データが送られています。
そのため、盗聴や改ざんが容易に行えるという欠点があります。
このことを理解し、重要な部分にベーシック認証を行うのは辞めましょう。

設置手順

準備

ベーシック認証を設定するためには2つのファイルを設置する必要があります。

.htaccess ・・・ ベーシック認証の設定
.htpasswd ・・・ 認証情報

設置

.htaccess を以下のように記述して、制限をかけたいディレクトリ内に置きます。


AuthUserFile フルパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>

.htaccessで記述した AuthUserFile のパスに .htpasswd を置きます。
記述する文字列は、こちらのようなサイトで取得できます。
設定例 :


user:A4KoMKFP7GLhQ

テスト

ブラウザから .htaccessを設置したパスへアクセスします。
設定したIDとパスワードでログインできることを確認してください。
できなければ設定が間違っています。

今回は認証だけの設定を行いましたが、.htaccess ではIPアドレスによる制限を行うことができます。
ベーシック認証とIPアドレス制限を組み合わせて使うこともできるので、覚えておくと良いと思います。

IPアドレス制限の設定方法はこちら

  • このエントリーをはてなブックマークに追加
Related

FullCalendarでGoogleカレンダーのようなUIを実装

jQueryプラグインFullCalendarのサンプル 概要 FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...

rbenv環境でRuby on Railsのアプリケーションを一瞬で自動生成

アプリケーション構築時に最初に行う手順 概要 アプリケーションを作成するまでの手順を記載しています。 rbenvなどの環境が設定済と仮定して話を進めま...

Rails devise・authority・rolifyで権限付きの認証機能

devise・authority・rolify 概要 3つのGemを使用して、権限付き認証機能を実装します。 gem インストール Gemfile ...

Rails devise で複数モデルの認証機能を実装

Rails devise で複数モデルを管理 概要 rails のログイン認証 Gem「devise」のインストール・設定方法を紹介します。 よく「d...
トップへ戻る