• ベストアンサー

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可能となってはいるのですが…。

質問者が選んだベストアンサー

  • ベストアンサー
  • J_ANBI
  • ベストアンサー率48% (24/49)
回答No.3

様々な可能性がありますが、 .htpasswdファイルをうまく参照できていないのかも知れません。 好ましい方法とは言えないのかもしれませんが、試しにAuthUserFileの項目を、パスをいれずに、.htpasswdだけにしてみたら、どうなりますか? 簡単に言うと、サーバによっては、Webサーバ側から見たときパスと、シェル等でpwdを実行したときに見えるパスが異なるように設定してある場合もあり、この場合に、pwdで表示されたパスをAuthUserFileに設定しても、うまく.htpasswdを見つけることができません。 それが、原因かな、と思いました。

mittsui
質問者

補足

ご指摘の通り、やはり.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 が参照されないので、中に入ることは出来ないんです。 一体どうしたら良いでしょうか? 文章が分かりにくいとは思いますが、うまく書けなくて…。ご容赦くださいませ。

その他の回答 (3)

回答No.4

AuthUserFile が間違っているのではないでしょうか。 サーバ側の設定で "フルパス.htpasswd" とは限らないと思います。 そのレンタルサーバのQ&Aやヘルプで調べてみてはいかがでしょう。

mittsui
質問者

補足

いろいろ調べてみたらどうやらそのようです。 有り難うございます。

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.2

申し訳ない。 こちらの勘違いです。 htpasswdで作成した,AuthUserFile の中身はcrypt()で暗号化されているんでした。 # モジュールを使った認証ばかりやっていたら, # 頭がぼけてしまったようです(TT

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

暗号化したパスワード で AuthType Basic というのはおかしいですね。 どちらが本当なんでしょう?

mittsui
質問者

補足

えっと。当方、全然詳しくないのでとんちんかんな 質問だったらすみません。いろいろ調べたのですが…。 Basic認証ではDES暗号化をしたパスワードを使うものでは ないんでしょうか?

関連するQ&A

  • ベーシック認証で404エラー

    .htaccessを使用してベーシック認証をかけたいのですが、404エラーが出てしまいます。(.htpasswdもちゃんとアップロードしています) サーバ会社に聞いてみたところ .htaccessは利用できる フルパスは正しい(サーバ会社が教えてくれました) しかし、なぜ404エラーが出るかは分からない、といわれてしまって困っています。 恐れ入りますが、ご教授いただけると大変助かります! .htaccessの内容は下記になります。 ------------------------------------------ AuthUserFile /home/フルパス/.htpasswd AuthGroupFile /dev/null AuthName "Input ID and Password." AuthType Basic AuthPAM_Enabled off <Limit POST GET PUT> require valid-user </Limit> <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> ------------------------------------------ よろしくお願いいたします。

  • htaccessでのベーシック認証ができない

    初心者です。 ホームページにパスワードをかけようとしているのですが、 設定したIDとパスワードを入力しても そのページに入れず困っています。 http://~~.com/a/ の部分にパスワードをつけたい状態で、 .htaccessには 下記の様に記述しました。 ------------------------------------- AuthUserFile /public_html/a/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> ------------------------------------- 又、.htpasswdの方は、無料提供サイトでパスワードを記号化しても、 そのまま記号化せずにパスワードを記述しておいても、 どちらでもはじかれてしまいます。 一応サーバーの方では、通常の設定でhtaccessでのベーシック認証は可能との記載がありました。 明日必要なので、すみませんがお力添え願います。

  • Basic 認証ができない

    Basic認証を行いたいのですが、「ユーザー」と「パスワード」を入れても認証を通過できません。 [.htaccess]ファイルには下記のように記述しました。 AuthUserFile /home/test/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> [.htpasswd]ファイルには下記のように記述しました。 test:KNBKgzgRhzAOk パスワードは下記URLで作成しました。 http://www.futomi.com/lecture/htaccess/htpasswd.html なにが問題なのでしょうか?

  • .htaccessで階層より上まで制限が掛かるのはなぜ?

    ホームページ内の、あるディレクトリにパスワード制限を掛けています。 .htaccessに ----- AuthUserFile /home/sites/ディレクトリへのパス AuthGroupFile /dev/null AuthName "認証" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> ----- と記述し、htpasswdにパスワードを記述しています。 その該当ページに入るときは、ちゃんと認証の小窓が出てきて、 IDとパスワードを入力しないと見れないようになっていますが、 問題は階層上のTOPページにアクセスしても、その小窓が出てくるようになった事です。 他の同階層のディレクトリにアクセスしても小窓は出ません。 小窓自体はIDとパスワード入れなくても「キャンセル」をクリックする事で見れます。 これはどうなっているのでしょうか? パスが間違っているのでしょうか?

  • htaccessがうまくいきません

    htaccessで認証画面が開き、設定したパスワード、アカウントを入れても認証画面が繰り返し出てきます。どうしたらよいでしょうか? AuthUserFile /Library/WebServer/Documents/phpMyAdmin/.htpasswd AuthGroupFile /dev/null AuthName phpMyAdmin AuthType Basic <Limit GET POST> require valid-user </Limit> どこかおかしいですか?

  • .htaccessで500エラーが出ます

    はじめまして。 アクセス制限をかけたいディレクトリに.htaccessを作成し、 アップをすると500エラーでページが表示されません。 記述した内容は下記で ---------- <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /files/htaccess/pw/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow ---------- /files/htaccess/pw/.htpasswd のディレクトリに.htpasswdをアップしました。 500エラーの原因をいろいろ調べて、 転送モードはアスキー、文字コードはUTF-8、パーミッションは604、 最後の行に改行を入れるなど、 すべて実践してみたのですが、 一向にページが表示されません。 試しに.htaccessのファイルを削除するとページは表示されます。 自分ではもう全くお手上げ状態なので、 どなたか原因がわかる方がいらっしゃったら 教えていただければと思います。 よろしくお願いします。

  • .htaccessでパスワード認証ができない

    仮のアドレス http://192.168.1.16/gazoufolder/ をパスワード認証をしたいと思います ですがIDとパスワードを入れてもできません できなかった例をあげます 私はhttp://192.168.1.16/htm/に .htaccessを置き 下のはコードです AuthType Basic AuthUserFile /htm/.htpasswd AuthGroupFile /dev/null AuthName "Enter password" Require valid-user (中身) .htpasswdはhtmのフォルダの中に入れています (もちろんパスワードは暗号化して入れていますID:passのように) .htaccessはもちろんパスワード制御をしたいのでgazoufolderに入れています それでhttp://192.168.1.16/htm/test.htmlにアクセスすると 認証画面はでるんですが IDとパスワードを入れてもずっと認証画面でIDとパスワードを聞かれたままです パスワードとIDは間違っていませんし どこが悪いのでしょうか? 自分的には AuthUserFile /htm/.htpasswd が怪しいと思うんですが 調べてみても /home/public_html/などややこしいのばっかりで どうしていいかわかりません http://192.168.1.16/でのパスはどうすれば良いのでしょうどなたか教え てください ちなみにOSはMacOSXです Apacheです

  • Apache2.2.6にてBasic認証の設定

    .htaccessファイルに /home/hoge/public_html/admin/.htaccessを作成して AuthType Basic AuthUserFile /home/hoge/public_html/admin/.htpasswd AuthGroupFile /dev/null AuthName "test" <Limit GET POST> require valid-user </Limit> <Files .htaccess> Order deny,allow Deny from all </Files> とするとエラーで動きません。 <Files...をコメントアウトすれば動くようになったのですが、 ファイルのアクセス制限をかけるにはどうしたらいいのでしょうか? httpd -M で確認しても authz_host_module (static) となっていて必要なモジュールは認識してるようですし、 2.2になってだいぶ変更があったみたいで、色々調べて試してみたのですができなくて困っています。 よろしくお願いします。

  • Basic認証がindex.htmlにもかかる

    サイトを作成してアップしました。index.htmlより下層のファイルにはBasic認証をかけたくて、.htaccessを下層のフォルダにいれました。 しかし、なぜか、index.htmlにもBasic認証がかかってしまいます。 しかも、そこでキャンセルすれば、エラーページに飛ばされることなく、indexが表示されます。ただ、画像は表示されません。 下層のファイルに飛ぼうとすると、きちんとしたBasic認証がちゃんとかかります。 いろんな方法を試してみましたが、この現象が解消されません。 ちなみに、現在の.htaccessは以下の通りです。 <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /home/○○○/○○○/○○○/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow 本にもどこにも載っていないし、ネットで探しても答えがありません。 困っています。 原因はなんでしょうか。また、この現象を回避する方法はないでしょうか。 どうかよろしくお願いします。

  • Basic認証がindex.htmlにもかかる

    サイトを作成してアップしました。index.htmlより下層のファイルにはBasic認証をかけたくて、.htaccessを下層のフォルダにいれました。 しかし、なぜか、index.htmlにもBasic認証がかかってしまいます。 しかも、そこでキャンセルすれば、エラーページに飛ばされることなく、indexが表示されます。ただ、画像は表示されません。 下層のファイルに飛ぼうとすると、きちんとしたBasic認証がちゃんとかかります。 いろんな方法を試してみましたが、この現象が解消されません。 ちなみに、現在の.htaccessは以下の通りです。 <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /home/○○○/○○○/○○○/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow 本にもどこにも載っていないし、ネットで探しても答えがありません。 困っています。 原因はなんでしょうか。また、この現象を回避する方法はないでしょうか。 どうかよろしくお願いします。