• 締切済み

htaccessでのアクセス制限

htaccessを使用したアクセス制限を勉強しています。IPアドレスでのアクセス制限はうまくいき、ユーザ毎パスワードでのアクセス制限の方も、ダイアログボックスが出る所までは上手くいったのですが、どんなIDとパスワードを入れても毎回401 Authorization Requiredとなってしまい、原因が分かりません。htaccessの中身は --------------------------------- AuthUserFile ~/.htpasswd AuthGroupFile /dev/null AuthName "ByPass" AuthType Basic <Limit GET POST PUT> require valid-user </Limit> --------------------------- です。 AuthUserFileには、Perlで print "Content-type: text/html;charset='x-euc-jp'\n\n"; $0 =~ /[^\\\/]*$/; print "\$` =$`"; というプログラムをかけてパスを出しました。 サーバはApacheです。原因の分かる方、宜しくお願いします。

  • CSS
  • 回答数2
  • ありがとう数6

みんなの回答

noname#151056
noname#151056
回答No.2

そのPerlプログラムはよくわかりませんが、 .htaccess でチェックすべきなのは AuthUserFile で指定した絶対パスが本当にあっているかという点。 しかし認証で失敗しているという点で、 .htpasswd ファイルの中身が一番あやしいです。 user名:cryptされたパスワード という形式になっているか というのを確認してください。 また、user名(アカウント名)があっているか パスワードがあっているか、cryptしないでじかにパスワードを記述していないか などを確認してください。

ryogoku
質問者

補足

.htpasswdの中身は、 test:nqBidLn29x4Yg という形になっています。htpasswdプログラムが使用できなかったので、crypt関数を使うフリープログラムで暗号化してみたのですが。確かめてみます。

noname#151056
noname#151056
回答No.1

.htaccess についてはさっぱりわからないので自信がありませんが、 とりあえず AuthUserFile のあとの「~」は「~」の誤りではないでしょうか? あと、.htpasswd ファイルの中身には Content-type:text/html;charset=... という記述はいらないのではないでしょうか。 これってHTMLヘッダですよね? .htpasswd ファイルの中身には ユーザ名:暗号化されたパスワード という記述があればよいと思います。違うかも。

関連するQ&A

  • .htaccessによるアクセス制限

    FreeBSD(4.2R)初心者です。(Apache 1.3.14) .htaccessファイルによるアクセス制限をしたいのですが、 うまくいきません。 /usr/home/user1/public_html/privateに制限をかけようと思い、 このディレクトリに、 htpasswdで作成したパスワードファイル(.htpasswd)と、 以下のような.htaccessファイルを置きました。 AuthUserFile /usr/home/user1/public_html/private/.htpasswd AuthGroupFile /dev/null AuthName "ByPassword" AuthType Basic <Limit GET POST> require valid-user </Limit> でも、ダイアログが出ずに素通りしてしまいます。 どなたか、やり方を教えてください。

  • htaccessがうまくいきません

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

  • .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によるBASIC認証について

    仲間だけに閲覧をしてもらうためのページを作成しています。 色々なサイトを参考にして、.htaccessで作ってみたのですが、設定したパスワードを入力しても、閲覧ができませんでした。 .htaccessは、 AuthUserFile ~FTPアカウント名/作成したディレクトリ名/.htpasswd AuthGroupFile /dev/null AuthName "任意の言葉" Authtype Basic <Limit POST GET PUT> require valid-user </Limit> .htpasswdは、 ユーザー名:パスワード(某サイトを使って暗号化したもの) と作成しました。 プロバイダはhi-hoです。どうしたら、うまく完成するのか、教えてください。 ホームページ作成初心者ですので、説明の文章におかしいところがあるかもしれませんが、お許しください。 どうぞ、よろしくお願いします。

  • .htaccessについて教えて下さい。

    .htaccessについて教えて下さい。 [.htaccess] AuthUserFile /home/ユーザー名/public/www/aa_cgi/.htpasswd AuthGroupFile /dev/null AuthName ByPassword AuthType Basic require valid-user ハッスルサーバーを使っています。 上記でキチントaa_cgiのフォルダにアクセス制限がかかります。 動作は問題ありません。 しかし、アクセス制限していない htmlファイル(top.html)を開くと パスワード認証の画面が表示されるのです。 何故こんな事が起こるのか、どなたかおおしえ下さい。よろしくお願い申し上げます。 |-aa_cgi(制限したいディレクトリ) | |-.htaccess | |-.htpasswd | |-top.html |-link.html |-index.html |-pic.html aa_cgiのフォルダと同じ階層に top.html link.html index.html pic.html があります。.htaccessはaa_cgiのフォルダの中にあります。 なのになぜか、top.htmlだけパスワードを聞かれます。他のlink index pic ファイルは開いてもパスワードを聞かれません。

    • ベストアンサー
    • CGI
  • 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可能となってはいるのですが…。

  • .htaccess の書き方についてですが、

    例えばURLでは、 http://www.abc5678.com/mihon/ のフォルダに制限をかけたい場合で、サーバーユーザー名が xyzcであった場合、 AuthUserFile virtual/xyzc/public_html/www.abc5678.com/mihon/.htpasswd AuthGroupFile /dev/null AuthName MembersOnly AuthType Basic <Limit GET POST> require valid-user </Limit> では間違っていますか? 別途暗号化された内容の.htpasswdを同じフォルダにアップしても Internal Server Error となって困っています。 よろしくご教示くださいませ。

  • BASIC認証の戻り画面設定

    宜しくお願いします。 .htaccessと.htpasswdを使用して、同じフォルダ内のHtmlの 認証制限をしています。 認証の際、キャンセルボタンを押すと「Authorization Required」と 表示されブラウザの「戻る」ボタンを利用しなければ元の画面に 行くことができません。 「キャンセル」ボタンを押すと同時に、指定した制限フォルダ外の 任意のHtmlを表示させることはできるでしょうか。 .htaccess内は以下のようになっています。 hoge3は閲覧制限ファイルです。 AuthType BASIC AuthUserFile /home/hoge1/www/hoge2/hoge3/.htpasswd AuthGroupFile /dev/null AuthName "認証" <limit GET POST> require valid-user </limit> キャンセルボタンを 押したときに「Authorization Required」と表示されてしまいます。

    • ベストアンサー
    • HTML
  • .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です

  • 【.htaccess】パスワードを設置できない><

    ホームページのBBSのページだけ、パスワードを設置したいと 思い、.htaccessと.htpasswdをそのディレクトリに置きました。 しかし、パスワードを聞いてくることなく、 普通にみれてしまいます>< 構造は以下のようにしています。 public_html | |-bbs bbs用のcgiなど .htaccess .htpasswd・・・ .htaccessには、以下の記述を行いました。 AuthUserFile /public_html/bbs/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user .htpasswdには、ID:暗号化されたパスワードを書きました。 二つのファイルともアスキーで送り、 ファイルの種類も正しいです。 何が間違っているのか分からないので、困ってます。 助けてください。 ちなみに、public_htmlは、FFFTPのフリーソフトを 使った時に見れるファルダーです。 ホスト名/public_html・・・?

    • ベストアンサー
    • HTML