- ベストアンサー
htaccessの認証が出来ません…
htaccessによるBasic認証を試みてるのですが、何度IDとPASSを打っても同じ認証画面が出てきてしまいます…。 .htaccessには以下のように記述してあります。 AuthUserFile "フルパス.htpasswd" AuthGroupFile "/dev/null" AuthName "Input ID and Password." AuthType Basic <Limit GET POST PUT> require valid-user </Limit> <Files ~ "^.(htpasswd|htaccess)$"> Order deny,allow deny from all </Files> .htpasswdには ID:暗号化したパスワード と記述してあります。 フルパスの指定に間違いがないとしたら、何か他に認証に 失敗する原因として挙げられるものがありますでしょうか? 『0ad』というところでレンタルサーバーしてまして、htaccess可能となってはいるのですが…。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
様々な可能性がありますが、 .htpasswdファイルをうまく参照できていないのかも知れません。 好ましい方法とは言えないのかもしれませんが、試しにAuthUserFileの項目を、パスをいれずに、.htpasswdだけにしてみたら、どうなりますか? 簡単に言うと、サーバによっては、Webサーバ側から見たときパスと、シェル等でpwdを実行したときに見えるパスが異なるように設定してある場合もあり、この場合に、pwdで表示されたパスをAuthUserFileに設定しても、うまく.htpasswdを見つけることができません。 それが、原因かな、と思いました。
その他の回答 (3)
- chausuyama
- ベストアンサー率23% (5/21)
AuthUserFile が間違っているのではないでしょうか。 サーバ側の設定で "フルパス.htpasswd" とは限らないと思います。 そのレンタルサーバのQ&Aやヘルプで調べてみてはいかがでしょう。
補足
いろいろ調べてみたらどうやらそのようです。 有り難うございます。
- onosuke
- ベストアンサー率67% (310/456)
申し訳ない。 こちらの勘違いです。 htpasswdで作成した,AuthUserFile の中身はcrypt()で暗号化されているんでした。 # モジュールを使った認証ばかりやっていたら, # 頭がぼけてしまったようです(TT
- onosuke
- ベストアンサー率67% (310/456)
暗号化したパスワード で AuthType Basic というのはおかしいですね。 どちらが本当なんでしょう?
補足
えっと。当方、全然詳しくないのでとんちんかんな 質問だったらすみません。いろいろ調べたのですが…。 Basic認証ではDES暗号化をしたパスワードを使うものでは ないんでしょうか?
補足
ご指摘の通り、やはり.htpasswdをうまく参照できて いないようです。 >試しにAuthUserFileの項目を、パスをいれずに、 >.htpasswdだけにしてみたら、どうなりますか? ダメでした。アクセス制限はかかってますが、やはり 中に入れません…。 『0ad』というレンタルサーバなのですが、 httpで見ると(ブラウザで見ると)ディレクトリは http://www.0ad.jp/~ユーザID/ なんですが、ftpソフト等で見るとディレクトリは home/ユーザID/ で、どうもこの~(チルダ)が邪魔者なようでして。 このレンタルサーバには 『Userminコントロールパネル』 というのが在りまして、そこからいろいろとApacheの 設定をいじくることも出来るんです。 で、私はここからhtaccessの設定をしているのですが htaccessの1行目に AuthUserFile "/home/ユーザID/.htpasswd" と記述すると、Userminコントロールパネル上でhtpasswdの場所を 参照をする時に、 /home/ユーザID/.passwd を探せば当然ながら しっかりその内容が見えるんです。(ユーザ名とパスワードが見える) ところがこの状態でブラウザでアクセス制限がかかっているかをチェック しようとすると素通りになってしまうんです。 それではと思って htaccessの1行目を AuthUserFile "/home/~ユーザID.htpasswd" として~を入れると、Userminコントロールパネル上でhtpasswdの場所を 参照しようと /home/~ユーザID/.htpasswd を探してもファイルが 見当たらないんですね。 しかしこの状態であればブラウザでチェックすると、アクセス制限は かかるんです。 ただ、正しいIDとパスワードを入力しても、.htpasswd が参照されないので、中に入ることは出来ないんです。 一体どうしたら良いでしょうか? 文章が分かりにくいとは思いますが、うまく書けなくて…。ご容赦くださいませ。