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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
QRコード作成ライブラリ「cakePHP-QR-Code-Helper」をPHPで使うカスタマイズ
CakePHP2用のQRコード作成ライブラリ「cakePHP-QR-Code-Helper」をプレーンのPHPでも使うためのカスタマイズ方法を解説。1ファイルを設置するだけでQRコードが作れるため使い勝手がいい。
-
-
ECCUBEの問い合わせフォームに任意の値を引数として渡す方法
ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。
-
-
ECCUBEでアップロードできない。upload_max_filesizeを設定する場所
テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。
-
-
PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム
PHPのcURLを使用して各種APIにアクセスするサンプルプログラムを作成し、その処理を解説。カオナビAPIのみならず、他の多くのAPIにアクセスする際にも使用できる。
-
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
-
-
ECCUBEの注文完了画面注文番号と商品情報を編集するCRITEO(クリテオ)タグを編集
ECCUBEの注文完了画面にクリテオのタグを編集する方法を紹介。標準機能では完了画面に注文IDや購入商品の情報を渡さないため改修が必要です。
-
-
ECCUBEでテンプレートファイルのファイルサイズは10MB以下のものを使用してくださいのエラーが出た場合
テンプレートをアップロードする際にファイルサイズが大きすぎてエラーが表示される際の対処方法解説。パラメータ設定で設定する制限について解説を行っています。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
PHPパーミッション変更のchmod関数・モードを変数で指定する方法
パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。
-
-
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。