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認証を設定する方法
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある
PHPでは月末の1ヶ月後が想定した日付にならない場合がある。原因はバグではなくPHPの1ヶ月後の定義によるもの。なので必要とする日付を定義しそれに合わせてDateTime、modifyを使用して算出方法を解説している。
-
-
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!
-
-
ECCUBEでアップロードできない。upload_max_filesizeを設定する場所
テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。
-
-
カオナビAPI Ver.2.0のtokenを取得する PHP+cURLのサンプルプログラム
PHPのcURLを使用してカオナビAPIのアクセスに必要なtoken、シートの情報を取得するサンプルプログラムを作成。cURLの処理は関数化しているため他のAPIでも流用できる。
-
-
Smartyの Syntax Errorの原因はスペースかも
Smartyのなかなか原因がつかめない Syntax Errorの原因はスペースかもしれません。
-
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
-
-
ECCUBEの問い合わせフォームに任意の値を引数として渡す方法
ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。
-
-
ECCUBEの注文完了画面注文番号と商品情報を編集するCRITEO(クリテオ)タグを編集
ECCUBEの注文完了画面にクリテオのタグを編集する方法を紹介。標準機能では完了画面に注文IDや購入商品の情報を渡さないため改修が必要です。
-
-
WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う
strptimeはWindowsのPHPには未実装。LinuxとMacで挙動が異なる。PHP8.1で非推奨になる。なので日付のチェックはdate_parse_from_formatを使おう。使い方を詳細解説。
-
-
ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入
標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。
