.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

PHPで動画の撮影日を取得

PHPで動画の撮影日を取得 概要 PHPからffprobeコマンドを実行し、動画の撮影日時を取得します。 コード $posted_at = ...

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 ...
トップへ戻る