• ベストアンサー

指定のページに入るのにパスワードをかけるには?

質問です。 WEBサイトで指定のページに入る際に IDとパスワードを入力しないと入れない場合、 どういったことをすればいいでしょうか? 「.htaccess」と「htpasswd」を使えばいいのでしょうか? 今回はindexページ以外のページに入る際に IDとパスワード制限をかけたいと思っています。 その場合ディレクトリもどのようにすればいいか 教えて頂けると幸いです。 よろしくお願い致します!

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • tkmojo
  • ベストアンサー率50% (105/207)
回答No.2

第2階層から.パスワードをかけるのなら、.htaccessの置き場所はそれで問題ありません。 ただ、.htpasspwを、アクセス可能なディレクトリに置くのはセキュリティ上好ましくありませんので、 public_htmlの外に置いたほうがいいですね。 その際に、.htaccess内の.htpasspwまでのパスを変更しましょう。 また、ベーシック認証ファイルを簡単に生成してくれるサイトがあるので、 こういう所を利用すると楽です。 http://www.htaccesseditor.com/#a_basic

o_coco3
質問者

お礼

早速ご回答頂きありがとうございます! 早速ご紹介頂きました生成サイトでソースを作成し、 新たに「htaccess」を再作成し設置致しました。 htaccessの設置箇所は第2階層のままで、 htpasswdは「public_html」と同じ階層に設置しています。 するとパスワード制限はできたのですが、 なぜかTOPページ(/public_html/index.html)にアクセスした時に パスワード要求が出るのです….。 どこか間違っていますでしょうか? 念の為htaccessのソースを下記添付しますので ご確認いただけませんでしょうか? <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes AuthUserFile /home/***/***.com/.htpasswd(public_htmlと同階層) AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow 間違っていたらご教授頂けますと幸いです。 すみませんが宜しくお願い致します。

その他の回答 (1)

  • ultra900
  • ベストアンサー率29% (21/72)
回答No.1

htpasswdはディレクトリ単位でアクセス制限を行う機能です。 従ってindex.htmlの下にディレクトリを作り、そこに.htaccessを書けばパスワード無しでは入れなくなります。

o_coco3
質問者

お礼

早速ご回答ありがとうございます。 今現在第1階層のindexページ以外は フォルダに入れて第2階層に置いているのですが それでいいのでしょうか? .htaccessも第2階層に設置しています。 ちなみにディレクトリマップと htaccessとhtpasspwの内容は下記になります。 ・・・・・・・・・・・・・・・・・・・・・・・・・・ /public_html       ・・・ /index.html/          フォルダ ・・・.htaccess(記述内容下記)                  .htpasswd(IDとパスワードを記述)                  index.html                  ○○.html                    ・                    ・                    ・                    ・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ■.htaccess記述内用 ↓↓↓↓↓↓ ↓↓↓↓↓↓ AuthType BASIC AuthUserFile /home/***/public_html/***(フォルダ名)/.htpasswd AuthGroupFile /dev/null AuthName "Enter password" <limit GET POST> require valid-user </limit> ■htpasspw記述内用 ↓↓↓↓↓↓ ↓↓↓↓↓↓ 0000:dUSQvw/vMf3RE(IDとパスワード)←ダミーです ・・・・・・・・・・・・・・・・・・・・・・・・・・ 違っている所、もしくはやり方自体間違っていましたら ご教授頂けますと幸いです。 宜しくお願い致します。

関連するQ&A

  • .htaccess によるパスワード認証

    [.htaccess]と、[.htpasswd]を使ってパスワード認証が必要なページを作成しました。 例) ・http:www.abc.com/cde/index.html  [cde]ディレクトリの中に[.htaccess]と、[.htpasswd]が置いてあります。  もちろん、そのおかげで[http:www.abc.com/cde/index.html]にアクセスするとID・パスワード聞いてくるのですが、  [http:www.abc.com/cde/fgh/index.html]、cdeより下の階層のファイルにアクセスした場合もID・パスワードを聞かれてしまいます。  ただ、下の階層でID・パスワードを聞かれるのは構わないのですが、  一度、[http:www.abc.com/cde/index.html]でID・パスワードを入力したのだから、それより下の階層ではIDパスワードを聞かれないような仕組みにする方法はありますか。

    • 締切済み
    • CSS
  • 数日前からずっとHPの一部分をパスワード認証式にしたくて.htacce

    数日前からずっとHPの一部分をパスワード認証式にしたくて.htaccessを作り、 FTTPでサイトにパスワード付けるようのサブディレクトリを作って その中に.htaccessと.htpasswdをいれてるのですが、 401でパスワードを認証してくれません。 西院ネットを使用させて頂いてるのでその.htaccessの事を書いているページを 見ながら記載したのですがうまくいきません .htaccessの内容は AuthUserFile /usr/home/サイト/public_html/サブディレクトリ/.htpasswd AuthName "Please enter your ID and password" AuthType Basic require valid-user .htpasswdの方は ID:暗号化したパスワード 設置方法は public_html | |_設置サブディレクトリ   |.htaccess    .htpasswd   (置きたいページ) のように置いてるのですが。 これじゃだめなのでしょうか?? 記載に使用したソフトはTeraPadとWindowsのメモ帳です。 FTTPにはアスキーで上げました。属性604に変更(変更してないのも試してみました) すべて401になるのです。数日何回も試したり@pagesさんで試したりしたのですが どれも401になります。 暗号化したパスワードは暗号化する前のパスワードをいれればいいのですよね?? 本当にわからなくなってしまったので、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • ステップサーバーでの.htaccess設定

    ステップサーバーで.htaccessを使ったBASIC認証をしたいのですが、うまくいきません。 現在、public_htmlの直下に作ったsecretというフォルダに.htaccessを置いています。.htpasswdはpublic_htmlがあるのと同じ階層に置いています。 .htpasswd ▽<public_html>  ・index.html  ▽<secret>   ・.htaccess   ・index.html 【.htaccessの内容】 <Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes AuthUserFile /export/usr/home/ex00000000/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow 【.htpasswdの内容】 test:xxxxxxxxx (パスワードは暗号化しています) ステップサーバーのアカウントページでは、ホームディレクトリのパスとして「/export/usr/home/ex00000000/」が指定されています。 FFFTPで接続すると、トップディレクトリに「xxxxx.web5.jp」というディレクトリがあり、その中に「public_html」があります。 .htaccessのパスが違うのかと思い、 /export/usr/home/ex00000000/.htpasswd /export/usr/home/ex00000000/xxxxx.web5.jp/.htpasswd などと書き換えて試してみましたが、前者の場合は認証ウィンドウが出るもののIDとパスを入力しても通らず、後者の場合はsecretフォルダへ普通にアクセスできてしまいました。(認証画面出ず) どこか他に確認すべき点はありますでしょうか?

  • .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】パスワードを設置できない><

    ホームページの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
  • htaccess パスワード及びユーザーエージェント制限 同時記述可能?

    下記は、htaccessのID及びパスワードによるアクセス制限とユーザーエージェントによる制限の記述ですが、これらを一つのhtaccess内に記述し同時に行なうことは可能でしょうか(同時に行なえるのなら、一つのhtaccess内に必ずしも記述する必要はありません)? つまり、下記のどちらか(又は両方)のパターンを行なう方法を知りたいのです。 パターン1:閲覧者が指定されたユーザーエージェントを使用しているか最初にチェックし、使用している場合、ID及びパスワードが入力できる。もしも、閲覧者が指定されたユーザーエージェントを使用していない場合、ID及びパスワードが入力できず、403.htmlへ飛ばす。 パターン2:閲覧者が正しいID及びパスワードを入力した後、閲覧者が指定されたユーザーエージェントを使用しているかチェックする。もしも、閲覧者が指定されたユーザーエージェントを使用していない場合、403.htmlへ飛ばす。 ポイント: パターン1では、ユーザーエージェントのチェックに続き、ID及びパスワードのチェックが行なわれる。パタンーン2では、ID及びパスワードのチェックに続き、ユーザーエージェントのチェックが行なわれる。 *ID及びパスワードによるアクセス制限 開始* AuthUserFile /home/test_directry/.htpasswd AuthGroupFile /dev/null AuthName "Input ID and Password." AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> *ID及びパスワードによるアクセス制限 終了* *ユーザーエージェントによる制限 開始* SetEnvIf User-Agent "Mozilla" Goody Order Deny,Allow Deny from all Allow from env=Goody ErrorDocument 403 /test/403.html *ユーザーエージェントによる制限 終了* できれば、上記コードの改良方法を教えていただきたいのですが? よろしくお願いします。

    • ベストアンサー
    • CSS
  • ホームページのログインパスワードの設置について

    表題の件、 ご質問失礼致します。 現在、こちらの記事を元にホームページのログイン制限を作成しております。 http://allabout.co.jp/gm/gc/23780/ 何点か要領を得ない部分がございまして ご教示戴ける方がおられましたら幸いでございます。 1:.htaccess ファイルを作るとファイル名が「.htccess .htaccess」となってしまいます。   「名前の変更」をして「.htaccess」と記入するとプロパティのファイル名も.htaccessになるのですが   こちらはこのままで宜しいのでしょうか?   dreamweaverでアップロードする際にいつも「.htccess」というファイルは見たことがあっても   「.htccess .htaccess」というファイル名は見たことがないので疑問に思っております。 2:.htpasswdファイルにつきましても「.htpasswd .txt」となっております。   「.htpasswd」というファイル名が通常かと思われ、   こちらも修正方法があればご教示戴ければ幸いでございます。 3:(ID・パスワード格納ファイルの所在)のパスの記述なのですが   どのように確認すればよいでしょうか?      現在 ワードプレスにてホームページを作成しており、   サイト全体にアクセス制限をかける場合、   .htaccessと同じ階層に.htpasswdを設置すると思うのですが、   /www/wordpressの設置ファイル/ここに.htpasswdを置く   パスは上記で宜しいのでしょうか?   「/www/wordpressの設置ファイル/.htpasswd .txt」    上記 分かりづらい表現になっているかと思いますが ご教示戴ければ幸いでございます。

  • パスワードが拒否されてしまいます。

    サーバー管理超初心者です。 AサーバーとBサーバーにそれぞれ置いているWebページにBasic認証でアクセス制限をかけているのですが(AもBも同じID、パスワードです)、何故か以前は問題なく表示されたAサーバーのページだけ入力したパスワードを拒否され、表示することが出来ませんでした。 それぞれのhtpasswdを見ると、内容は全く同じなのですがこういうことってあるのでしょうか? (ちなみにここ最近、サーバーの設定を変えたということは聞いておりません。イントラネットで数名の限られた人間しかアクセスしないページです。) 復旧するにはどのようにすれば良いでしょうか? root権限でBサーバーのhtpasswdファイルがあるディレクトリごとAサーバーにコピーすれば良いのかと素人同然の方法しか思いつきません。。。 詳しい方、宜しければご教授願います。

  • ブラウザを開くたびにパスワードを求められる

    お世話になっております。 使用OSはwindows7、ブラウザはfirefox5です。 .htaccessと.htpasswdで特定のディレクトリにパスワードをかけました。 制限をかけるのに使用したPCで、そのURLを開かなくてもブラウザを起動したとたんに「web accessに対するユーザー名とパスワードを入力してください」と窓が出てきます。 キャンセルしてもしばらくするとまた聞いてきます。しつこいです。 他所のPCでは問題なく、思い通りの状態です。 どうしたらそのURLを開くときだけに質問してくれるでしょうか? よろしくお願いいたします。

  • INDEXは表示、リンク先以降にパスワード

    CGI、SSI、.htaccess利用可能なさくらインターネットというサーバをレンタルし、主にサーバのファイルマネージャーを使ってサイトを作っています。 HTMLもサイト作成も初心者です。宜しくお願いします。 INDEX (.htaccessでロボットをブロック ここにパスワードのヒントを書く) ↓この間にパスワード画面が出てほしい HOME(サイト内容のトップ) と、こうしたいです。 INDEXページ以外のファイルは全てフォルダに入れており、そこに.htaccessでパスワードを設置しました。 /home/アカウント名/www   (元のアカウントは表示できないよう.htaccessで制限)    サイト全体のフォルダ  (ここにINDEXとロボット制限)        HOME以下のフォルダ   (ここに全ファイルと.htaccessと.htpasswd) ですが アクセスするとまずユーザー名、パスワードの入力画面が出て、表示させたいINDEXページの内容が出ません。 入力画面でキャンセルをすればページが見れるようになり、ユーザー名、パスワードを入れると正常にHOMEに入れます。 なにか良い解決策はないでしょうか。 あちこちのHTML解説サイトの見よう見まねで作成しているので、どのアクセス制限が問題なのかもわかりません…。 元のアカウントの制限には DirectoryIndex .ht AuthUserFile /home/アカウント名/www/.htpasswd AuthType Basic AuthName "Web access" Satisfy all Order deny,allow Allow from all INDEXにおいた.htaccessの最後に DirectoryIndex (INDEX名).html .ht AuthType Basic AuthName "Web access" Satisfy all Order deny,allow Allow from all HOMEの.htaccessの最後には ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html AuthUserFile /home/アカウント名/www/(サイト全体フォルダ)/(HOMEフォルダ)/.htpasswd AuthType Basic AuthName "Web access" Require valid-user Satisfy all Order allow,deny Allow from all と記述しています。問題のあるところをご指摘していただきたいです。 自分なりに問題解決のため検索をかけ、さくらインターネットのルーティングは一癖あるという解説も読んだのですが、許容オーバーでわたしには難しく理解できませんでした…。 あと、エラーログでときどき INDEXページの背景画像や外部CSSが「user not found」でヒットしています。自分で確認したところ、ほとんどのブラウザは表示できているのですが、firefoxではできていないように思います。 こちらの改善策もできればお願いします。

専門家に質問してみよう