エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Basic認証の.htaccess、.htpasswd生成ツールと解説

      2017/03/11

Basic認証の.htaccess、.htpasswd生成ツール

 

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認証を設定する方法

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace

ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。

配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例
配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例

配列の値を「、」でつないで出力する際、単純にforeachで繰り返し処理をすると「イヌ、サル、キジ、」となるが文字列最後の「、」を出力しない方法を3つ解説している。

PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較
PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較

PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。

WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う
WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う

strptimeはWindowsのPHPには未実装。LinuxとMacで挙動が異なる。PHP8.1で非推奨になる。なので日付のチェックはdate_parse_from_formatを使おう。使い方を詳細解説。

PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム
PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム

PHPのcURLを使用して各種APIにアクセスするサンプルプログラムを作成し、その処理を解説。カオナビAPIのみならず、他の多くのAPIにアクセスする際にも使用できる。

PHPで正規表現の検証には preg_match_allが便利

PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。

PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い
PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い

PHPのデバッグ等で変数や配列の中身を確認するために使用する関数print_r、var_dump、var_exportの動作の違い、仕様の違いについて確認した。var_exportがオススメ。

ECCUBEの管理画面のSSL設定をインストール後に変更する方法

ECCUBEをインストールした後から管理画面のSSL設定を変更する方法を解説します。config.phpファイルのHTTPS_URLとADMIN_FORCE_SSLの値を変更すればOK。

数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!

PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。

ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説

ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。