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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Webサーバー

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

Q&A

解決済

4回答

5993閲覧

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

moitaro

総合スコア443

Webサーバー

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

0グッド

1クリップ

投稿2017/01/05 08:48

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

とある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 でパスワード制限するしか方法を知らないのですが
他にどのような制限方法があるか
上記のエラーメッセージでどのように設定しているか分かるのでしょうか?

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/05 12:10

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

回答4

0

ベストアンサー

どうも聞きたい事と解決したい事とがマッチしていないように思えるのですが
.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 09:07

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/05 12:23

横からすみません。ちょっと読んでいて理解できなかったもので、教えてください。 認証の方法の一般的なものとして、Basic認証を上げていらっしゃるのですが、正直Basic認証をサービスに組み込んでいるシステムはあまり見ないように思えます。 認証といえば、フォーム入力による認証や、Oauthといったアプリケーション側での認証のほうが一般的な気がするのですが、前提条件にずれがあるのでしょうか? 正直、質問内容もよく理解できなかったため、なにか根本的にズレて理解しているのだと思うのですが。。。ご教示いただけるとうれしいです。
moitaro

2017/01/06 00:23

ありがとうございます。 思考手順もそのままズバリです。 サーバーサイドに問い合わせてみます。 皆様コメントありがとうございました。
kunai

2017/01/06 00:53 編集

> te2jiさん まず質問文を読むと、質問者はこのシステムの内部構造を把握できていない事がわかります。 (使っている認証の方法も分かっていないので) 恐らく、開発したのは自分以外の担当者か外注業者で、今はその開発者には(退社したとかで)聞く事も出来ないのだろうと思えます。 ですが、システムの移設を担当するからには質問者もそれなりのプログラミング能力等はあるものと思われます。 つまり、移植するシステムのソースコードを読む位は事前に行っており、その上で認証方法が特定できなかったものと考えました。 フォーム等による認証であれば、ソースコードを読めばわかるはずですし、分からなければその箇所のソースコードを提示してどう言う実装なのかを聞く質問をされるはずたと思います。 更に、質問文の中にあるメッセージ文は、Apacheデフォルトの401.htmlのモノと一致します。 わざわざフォーム等を使った認証の開発まで行っておいて、認証失敗の画面表示だけApacheデフォルトから流用すると言うことも考えにくいので、Apacheが管理する認証方法を使っていると考えた方が自然だと思いました。 そうすると候補はBasic認証などいくつかの方法に限られます。 が、その中で言えば最も一般的なのはBasic認証ではないかな、と言うように考えました。
退会済みユーザー

退会済みユーザー

2017/01/06 00:58

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

2017/01/06 01:16

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

0

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してみてはいかがでしょうか。

投稿2017/01/05 21:16

night1ynx

総合スコア68

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2017/01/05 12:09

編集2017/01/05 12:25
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

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

うーん

投稿2017/01/05 08:50

moitaro

総合スコア443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問