Basic認証の.htaccess、.htpasswd生成ツールと解説
2017/03/11
Basic認証の.htaccess、.htpasswd生成ツール
Basic認証の.htaccess、.htpasswd生成ツールとは?
「Basic認証の.htaccess、.htpasswd生成ツール」ページへ
Basic認証の設定をするための .htaccessファイル、.htpasswdファイルを生成するツールを生成しました!
Basic認証を設定するために必要な .htaccess、.htpasswdファイルの中身を、入力フォームの項目にあわせて入力していくことで生成してくれるツールです。
「必要だから作ってみた」シリーズの第 6段目くらいです!
Basic認証の.htaccess、.htpasswd生成ツールの特徴
最大の差別化ポイント!
ファイル単位で Basic認証を設定する機能を有しています!
ファイル単位で Basic認証の設定に関する記事は「Basic認証をファイル単位・URL単位で設定する方法の解説」に記事を書いていますので、参考にしてください。
また、.htaccess、.htpasswdファイルの入れ物をダウンロードできます!
.htpasswdファイルのパスを調べるツールも用意しました!
ちなみに、WordPressのログインURLに Basic認証を設定する方法は「WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説」に記事を書いていますので参照してみてください。
Basic認証の.htaccess、.htpasswd生成ツールの機能
パスワードの生成
入力された ID、PASSを元に .htpasswdに編集をする IDと暗号化されたパスワードを生成します。
.htaccessの内容の生成
.htpasswdを置くファイルパスを指定することで、.htaccessに編集する内容を生成します。
ファイル単位の Basic認証に対応
ファイル単位を指定することで、ファイル単位で Basic認証を設定することもできます。
Basic認証の.htaccess、.htpasswd生成ツールの操作方法
ID、PASS、.htpasswdのファイルパスを入力し、「.htaccess .htpasswd生成」をクリックすることで .htaccessファイル、.htpasswdファイルに記述する内容が生成されます。
それを、.htaccessファイル、.htpasswdファイルにコピペして保存することで、Basic認証に使うファイルとして利用できます。
Basic認証の.htaccess、.htpasswd生成ツールの便利機能
.htaccessファイル、.htpasswdファイルをダウンロード可能
Windows上では「.(ドット)」で始まるファイルは作成することができませんので、あらかじめ入れ物になる .htaccessファイル、.htpasswdファイルを用意しています。
それをダウンロードをすることでわざわざ面倒な作業で .htaccess、.htpasswdを作成する手間が必要なくなります。
.htpasswdファイルのパスを調べるツールを用意
レンタルサーバなどは特にそうですが、ドキュメントルートとサーバのルートが一致していない、サーバのパスが明示されていない、という場合が多いと思いますが、その場合は自分で調べる必要があります。
そのパスを簡単に調べるツールも用意しました。
と言っても、PHP 1行のツールですが...
また、「get_filepath.php」ファイルは、使い終わった後は削除しておきましょう。
Basic認証の.htaccess、.htpasswd生成ツールの注意点
入力文字の制限について
ID、PASS、ダイアログに表示されるメッセージについては、全角文字が使えないため、それに合わせて入力文字の制限をしています。
ですが、.htpasswdのファイルのパス、ファイル単位で Basic認証を設定する際のファイル名については入力制限をしていません。
理由は、ID、PASSなどは基本的に自由に入力することが可能なため、入力制限が必要と考えています。
逆に、.htpasswdのファイルのパスは、正しい値を入力する必要があるため特に制限をする必要はないと考えています。
Basic認証がうまく動かない場合のチェックポイント
Basic認証のダイアログが表示されない
.htaccess、.htpasswdの両ファイルをサーバにアップしてみたものの、Basic認証のダイアログが表示されず、認証せずにファイルが表示されてしまう場合があります。
これは、多くの場合、そもそもそのサーバで「.htaccess」によるサーバの設定を許可していない場合に起こる現象ですので、その場合は、「.htaccess」が使える設定になっているかどうかを確認してみてください。
レンタルサーバの場合はサーバ会社に訊く必要などがありますが、ローカル環境などの場合は、下記のサイトなどが参考になります。
http://kb.xpressone.net/2566
ID、PASSを入れても認証されない
Basic認証のダイアログが出てきて、正しい ID、PASSを入力しているにもかかわらず認証が通らない場合があります。
これは、「.htpasswd」へのパスが正しく設定されていない場合に起こることが多くあります。
「.htaccess」の設定が正しければ、Basic認証は動きます。ですが、「.htaccess」に指定してある「.htpasswd」へのパスが正しくない場合は、そのファイルに書かれている ID、PASSをチェックすることができないため、何を入力しても認証が通らない、という不具合につながります。
この場合は、「AuthUserFile /var/www/html/.htpasswd」が記述されている部分の「.htaccess」ファイルのパスを調べて見てください。
パスを調べるツールも提供していますので、確認してみてください。
Basic認証の.htaccess、.htpasswd生成ツールを作った経緯
このブログの中でも Basic認証の設定について言及する場面があります。
そして、Basic認証を設定する際には、「こちらのツールなどを使ってみては?」といった感じで紹介をするのですが、ファイル単位の認証設定までは付いていませんので、じゃぁ、自分で作ってみようかな、と思った次第です。
入力チェックの処理がありますので、それなりの行数になっていますが、.htaccess、.htpasswdの内容を生成する部分だけであれば 10行程度の処理ですので、実は簡単なツールなのです。
Basic認証とは?
Basic認証についても解説をしようかと思いましたが、下記のサイトに詳しく出ていますのでそちらを参考にしていただく方が確実でしょう。
http://allabout.co.jp/gm/gc/23780/
Basic認証関連の記事まとめ
Basic認証関連の記事もいろいろと書いていますので、あわせて参考にしてみてください。
ロリポップで baserCMSを利用する際の Basic認証の設置には注意しましょう
WordPressのログイン画面 URLを変更する 管理画面に Basic認証を設定する
WordPressの管理画面ログインURLの変更方法解説
WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
Basic認証をファイル単位・URL単位で設定する方法の解説
ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
Basic認証の.htaccess、.htpasswd生成ツールと解説
WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ
WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法
WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
サーバ移転、PHPバージョンアップでPHPのソースコードが表示される・ショートタグのPHPが動かない
PHPでショートタグを使うのは危険。サーバ移転やバージョンアップで動かなくなる!ソースが丸見え、設定情報流出のリスクが!php.iniのshort_open_tagの設定を再確認。
-
-
ECCUBEの問い合わせフォームに任意の値を引数として渡す方法
ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。
-
-
PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較
PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。
-
-
ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について
レンタルサーバでサーバ会社から割り当てられたURLで開発し、本番公開時にドメインを当てたらエラーが!そんな場合の対処方法の解説。対処方法は簡単ですが管理画面からは対応不可。
-
-
数値文字参照コード変換ツール(HTML特殊文字コード変換ツール)
テキストを数値文字参照コード(特殊文字コード)に変換するツール。テキストを数値文字参照コードに簡単変換。数値文字参照、文字実体参照、特殊文字などの違いも解説。
-
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
-
PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い
PHPのデバッグ等で変数や配列の中身を確認するために使用する関数print_r、var_dump、var_exportの動作の違い、仕様の違いについて確認した。var_exportがオススメ。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある
PHPでは月末の1ヶ月後が想定した日付にならない場合がある。原因はバグではなくPHPの1ヶ月後の定義によるもの。なので必要とする日付を定義しそれに合わせてDateTime、modifyを使用して算出方法を解説している。
-
-
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。
