質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • Webサーバー

    462questions

    Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

.htaccess 以外のパスワード制限方法を知りたい。

解決済

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 900

moitaro

score 136

お世話になっております。

とあるWebサービスを移植しようとしております。
そこにはパスワード制限がかかっており
適当にユーザー名:パスワードを入力すると


Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.


とのエラーが出ます。

私は.htaccess でパスワード制限するしか方法を知らないのですが
他にどのような制限方法があるか
上記のエラーメッセージでどのように設定しているか分かるのでしょうか?

お忙しい中申し訳ないのですが
上記 お問い合わせ致します。

ダイジェスト認証
http://www.kishiro.com/apache/auth_digest.html

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    退会済みユーザー

    2017/01/05 21:10

    できれば、とあるwebサービスのアドレスを教えていただきたいです。

    キャンセル

回答 4

checkベストアンサー

+6

どうも聞きたい事と解決したい事とがマッチしていないように思えるのですが
.htaccess等を使うBasic認証は知っている
→.htaccessファイルが見当たらない
→別の認証方法を使っているのではないか?
→他にどんな認証方法があるんだろう?
という思考手順かと思いますが、合っていますか?
確かに認証の方法はいくつもありますが、やはり一般的にはBasic認証です。
まずはBasic認証の場合を想定して解決法を探ってみてはいかがでしょう。

ちなみに、.htaccessファイルがなくてもBasic認証は実装可能です。
元々Apacheではhttpd.conf(或いは個別のVirtualHost設定ファイル等)に認証についての設定を行う形になっています。
このhttpd.confの一部機能を個別に設定する為に.htaccessが使えるようになっているだけです。
ので、httpd.conf(或いは個別のVirtualHost設定ファイル等)にBasic認証設定が書かれていないか見てみていただけますか。
一般的には
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/ホスト名等.conf
等の場所に置かれているかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/05 21:23

    横からすみません。ちょっと読んでいて理解できなかったもので、教えてください。

    認証の方法の一般的なものとして、Basic認証を上げていらっしゃるのですが、正直Basic認証をサービスに組み込んでいるシステムはあまり見ないように思えます。

    認証といえば、フォーム入力による認証や、Oauthといったアプリケーション側での認証のほうが一般的な気がするのですが、前提条件にずれがあるのでしょうか?

    正直、質問内容もよく理解できなかったため、なにか根本的にズレて理解しているのだと思うのですが。。。ご教示いただけるとうれしいです。

    キャンセル

  • 2017/01/06 09:23

    ありがとうございます。

    思考手順もそのままズバリです。

    サーバーサイドに問い合わせてみます。

    皆様コメントありがとうございました。

    キャンセル

  • 2017/01/06 09:50 編集

    > te2jiさん
    まず質問文を読むと、質問者はこのシステムの内部構造を把握できていない事がわかります。
    (使っている認証の方法も分かっていないので)
    恐らく、開発したのは自分以外の担当者か外注業者で、今はその開発者には(退社したとかで)聞く事も出来ないのだろうと思えます。
    ですが、システムの移設を担当するからには質問者もそれなりのプログラミング能力等はあるものと思われます。

    つまり、移植するシステムのソースコードを読む位は事前に行っており、その上で認証方法が特定できなかったものと考えました。
    フォーム等による認証であれば、ソースコードを読めばわかるはずですし、分からなければその箇所のソースコードを提示してどう言う実装なのかを聞く質問をされるはずたと思います。

    更に、質問文の中にあるメッセージ文は、Apacheデフォルトの401.htmlのモノと一致します。
    わざわざフォーム等を使った認証の開発まで行っておいて、認証失敗の画面表示だけApacheデフォルトから流用すると言うことも考えにくいので、Apacheが管理する認証方法を使っていると考えた方が自然だと思いました。

    そうすると候補はBasic認証などいくつかの方法に限られます。
    が、その中で言えば最も一般的なのはBasic認証ではないかな、と言うように考えました。

    キャンセル

  • 2017/01/06 09:58

    質問者さんの思考の方向性を根拠にアプリケーションでの認証を除外した時、最も一般的な認証がBasic認証だ。という表現だったのですね。理解できましたが、すげぇエスパーだw
    ありがとうございます。

    キャンセル

  • 2017/01/06 10:16

    私も本当にエスパーだと思います。
    本当にありがとうございました。

    キャンセル

+4

HTTP認証( = Basic/Digest認証)を行うには複数の方法があります。

  1. httpd.conf で設定してApacheに認証してもらう(kunaiさんが指摘している方法)
  2. .htaccess で設定してApacheに認証してもらう(質問者さんが知っている方法)
  3. Webアプリケーション側で実装する

HTTP認証の仕組みは単純なので、Webアプリ側で実装していることは珍しくありません。
有名な例としてはPukiwikiがあります。
参考: pukiwiki:lib/auth.php

なので、Webサービスのコードを 401 Unauthorized 401 Authorization Required PHP_AUTH_USER PHP_AUTH_PW などでgrepしてみてはいかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

おそらく、そのコピー元サイト様のほうでアクセス制限をかけているものと思われます。移植したいのならば
直接CGI/HTMLファイルを渡してもらったほうが懸命かと。
ちなみに、アクセス制限は.htaccessでBASIC認証をしているものと思われます。あまり関係は無い
ようですが、アクセス制限だけならCGIやファイアウォールでいくらでも設定できます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

と思ってグーグルさんで調査すると

ダイジェスト認証
http://www.kishiro.com/apache/auth_digest.html

というものがあるのですね……

これな気がするけどパスワードファイルが見つからない……
サーバーでパスワード制限かけているのかな……

うーん

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Webサーバー

    462questions

    Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。