• HOME
  • >
  • HTML+CSS
  • >
  • 今さらながらBasic認証がうまくいかないときに確認すること

今さらながらBasic認証がうまくいかないときに確認すること

Basic認証というと、意図的にページへのアクセスに制限をかけられる、Web屋さんなら一度は必ずお世話になるやつですね。
しかしなぜかこれでハマってしまって思わぬタイムロスしてしまいました…
ので、未来の自分と、同じような状況に陥った方のために、今さらながらBasic認証について覚書です。
ちなみにBasic認証のかけ方については、下記のサイト様を参考にしてください。

Basic認証をかけたページに入れない…

アイパスを聞かれているのに、入力しても入れない…そんなときもありますよね。
その場合、まず.htaccessは正常に動いているので問題ありません。
疑うべきは下記の4点です。

.htpasswdへのフルパスは合っているか

これが間違っていると、.htaccessの要求とは永遠にすれ違ったままですね。
もしサーバのフルパスがわからない場合には、

<?php
echo __FILE__;
?>

をコピペしたphpファイルを作成(pass.phpなど、拡張子以前のファイル名は任意でOK)して、パスを知りたいディレクトリに投げ込みます
その後ブラウザからこのphpファイルのアドレスを叩いてみると、フルパスが表示されます

改行が入っているか

.htaccessと.htpasswdの最後尾のあとに、必ず改行を入れます
(といっている私自身、意識して確認していたことはありませんでした…)

ファイルのパーミッション(属性)は適切になっているか

.htaccessと.htpasswdのパーミッションは604です。
要するに、『所有者には「読み取り」と「書き取り」を、ユーザには「読み取り」を許可する』という状態ですね。

パスワードは暗号化されているか

上記3点もクリアしているのに「なんかダメだ」という場合は、パスワードを暗号化してみましょう
(ググるとそういったサービスのサイト様が多数検索されますので、アドレスは割愛)
こちら、暗号化なしでも大丈夫なサイトがほとんどでしたが、私が出会った中でロリポップは暗号化が必要だったみたいです。

今回私がハマってしまったのは、最後の「パスワード暗号化」の部分でした。
ロリポップも以前は暗号化なしでもいけた気がするのですが、いつだかのタイミングでセキュリティでも厳しくなったんですかね…
(ちなみにWP乗っ取り事件以後しばらくは、暗号化は必要なかったように思います)

以上、よかったら参考にしてみてください。