投稿日:2003年10月22日 作成鷹の巣

No.13020 WebサーバーのBasic認証の表示間隔を長くする事は可能でしょうか?



WebサーバーのBasic認証の表示間隔を長くする事は可能でしょうか?

No.13020 投稿時間:2003年10月22日(Wed) 10:34 投稿者名:tete URL:

認証ダイアログポップアップの表示間隔を長くする事は可能でしょうか?
可能でしたらその設定を教えて頂きたいのですが
お願いします。


追記。

No.13021 投稿時間:2003年10月22日(Wed) 11:02 投稿者名:tete URL:

> 認証ダイアログポップアップの表示間隔を長くする事は可能でしょうか?
> 可能でしたらその設定を教えて頂きたいのですが
> お願いします。

環境書き忘れました。
OS:turbolinux
apacheバージョン:1.5.4


応答後の動作は、完全にクライアントに依存します。

No.13022 投稿時間:2003年10月22日(Wed) 11:43 投稿者名:通行人 URL:

> 認証ダイアログポップアップの表示間隔を長くする事は可能でしょうか?

サーバがクライアントに HTTP 401 (Authorization Required) の応答を返した後の動作は、完全にクライアントに依存します。わざと遅らせてダイアログを表示するようなブラウザは、無いと思います。

どうしてもやりたければ、HTTP 要求を受けた後、401 の応答を返すまでの時間を何らかの方法で引き伸ばす。つまり、極端にレスポンスの悪いサーバを演じる。
これしか無いと思います。


401の応答を返すまでの時間を引き伸ばす方法はありませんか?

No.13023 投稿時間:2003年10月22日(Wed) 12:31 投稿者名:tete URL:

> サーバがクライアントに HTTP 401 (Authorization Required) の応答を返した後の動作は、完全にクライアントに依存します。わざと遅らせてダイアログを表示するようなブラウザは、無いと思います。

すいません。仕組み自体がよくわかっていなくて。
最初にダイアログ認証を終えてある程度時間が経つと
サーバからクライアントにHTTP 401 (Authorization Required)を返し
ダイアログが表示されるような流れでしょうか?

> どうしてもやりたければ、HTTP 要求を受けた後、401 の応答を返すまでの時間を何らかの方法で引き伸ばす。つまり、極端にレスポンスの悪いサーバを演じる。
401 の応答を返すまでの時間を引き伸ばす方法はありませんか?

一度、認証を終えると5時間ぐらいブラウザを放置しても認証が上がらない
方法を探していますが「極端にレスポンスの悪いサーバを演じる」
というのは一般的にやるべき事ではないという事でしょうか?


コンテンツの配置方法によります。

No.13028 投稿時間:2003年10月22日(Wed) 15:00 投稿者名:通行人 URL:

認証ダイアログが表示されるのは、概ね次のような仕組みです。

1)
ブラウザでリンクをクリックする、URL を直接打ち込む、HTML 内で画像が呼び出される、等。
2)
ブラウザがサーバに HTTP 要求を送信。
パスワード入りの URL だったり、認証ダイアログの表示後だったり、その他条件を満たしている場合は、パスワード付きの HTTP 要求となる。
3)
送られた要求に正しいパスワードが含まれていれば、サーバは本来のコンテンツを送信 (HTTP 200)。
パスワードが無い、又は正しくない場合は、サーバは Authorization Required を返す (HTTP 401)。
4)
サーバが HTTP 200 を返した場合、ブラウザは受け取ったコンテンツを表示する。→終了。
サーバが HTTP 401 を返した場合、ブラウザは認証ダイアログを表示。
5)
入力されたユーザ名・パスワードを使い、2) へ。

認証ダイアログが出た時点で、一度は認証に失敗しています。


> 一度、認証を終えると5時間ぐらいブラウザを放置しても認証が上がらない
> 方法を探していますが「極端にレスポンスの悪いサーバを演じる」
> というのは一般的にやるべき事ではないという事でしょうか?

あ、立て続けにパスワードを試されたくないとか、そういう理由ではないのですね。
一度パスワードでエラーになったら一定期間は認証させないとか、そんなことを考えていました。

これは、コンテンツの配置方法によります。
一旦パスワード付きでファイルを取得すると、普通のブラウザであれば、そのファイルと同一ディレクトリ内・下位ディレクトリに対し一定期間内は同じパスワードで要求を行うようになります。
上位のディレクトリや全く別のディレクトリに対してはパスワード付きにならないので、必要であれば毎回認証ダイアログは出ます。

もし、「一度 HTML ファイルを表示することにより認証を行って、そこから秘密のファイルにアクセスさせるようにしたい」ということであれば、最初の認証用の HTML ファイルは、パスワードを掛けたうちのできるだけ上位のディレクトリに置けば良いです。


一度認証が通ると長い時間、認証ダイアログを出さずにコンテンツを利用できないかと考えています。

No.13029 投稿時間:2003年10月22日(Wed) 15:59 投稿者名:tete URL:

> 認証ダイアログが表示されるのは、概ね次のような仕組みです。
丁寧な解説有難う御座います!!
本当にわかりやすい説明で感動でした。

> 一度パスワードでエラーになったら一定期間は認証させないとか、そんなことを考えていました。
説明不足ですいませんでした。m(__)m
現在、ルートディレクトリにindex.jspを置いて他のファイルは全て下位ディレクトリに置いています。
下位ディレクトリは認証ダイアログが出るようにしています。
一度認証が通ると長い時間、認証ダイアログを出現させずコンテンツを利用できないかと考えています。

> 一旦パスワード付きでファイルを取得すると、普通のブラウザであれば、そのファイルと同一ディレクトリ内・下位ディレクトリに対し一定期間内は同じパスワードで要求を行うようになります。
パスワード要求の間隔時間の設定は可能でしょうか?
私が試したのはhttpd.confのtimeが付く所は設定延長してみましたが駄目でした。

> もし、「一度 HTML ファイルを表示することにより認証を行って、そこから秘密のファイルにアクセスさせるようにしたい」ということであれば、最初の認証用の HTML ファイルは、パスワードを掛けたうちのできるだけ上位のディレクトリに置けば良いです。
その方法でしたら実現できそうですね。
ダイアログが出るディレクトリ内のファイルのリンクが
ダイアログが出ないファイルのリンクへ行けばOKと言うことですね。
通常使用するコンテンツをダイアログが出ないフォルダに配置しておきます。
有難う御座います。やってみます。


通常なら、認証が必要なファイルを集めたディレクトリを作る。

No.13033 投稿時間:2003年10月22日(Wed) 22:17 投稿者名:通行人 URL:

> 現在、ルートディレクトリにindex.jspを置いて他のファイルは全て下位ディレクトリに置いています。
> 下位ディレクトリは認証ダイアログが出るようにしています。
> 一度認証が通ると長い時間、認証ダイアログを出現させずコンテンツを利用できないかと考えています。

その場合、ルートディレクトリ自体にパスワードを掛けてしまうのが簡単ですね。
しかし、通常なら「認証が必要なファイルを集めたディレクトリを作り、その最上位に index を置き、この index から他のファイルへアクセスさせる」という方法をとることになると思います。

例えば
/index.html ← サーバ全体の index
/images/ など ← パスワードを要しないファイル
/images/hoge.jpg など ← ここに置いたファイルはパス不要
/members/ ← ここにパスワードを設定しておく
/members/index.html ← 要パスのファイルの index
/members/data/ ← 秘密のデータ置き場
/members/images/ ← 秘密の画像置き場
……こういう構成にして /members/index.html をメンバーズエリア入口にしておけば、/members/ 以下のファイルはパスワードを入力せずに済みます。

> パスワード要求の間隔時間の設定は可能でしょうか?
> 私が試したのはhttpd.confのtimeが付く所は設定延長してみましたが駄目でした。

これは、完全にブラウザ依存です (ブラウザが予めパスワードをつけて HTTP 要求を行うか否かに依存)。
ブラウザを再起動するまでは、同じパスワードが使われ続けるはずです。


無事に一度ログインが通れば認証が出ないようになりました。

No.13045 投稿時間:2003年10月23日(Thu) 15:25 投稿者名:tete URL:

/index.jsp ← index.jsp(ログイン画面)からchkディレクトリ内ファイルへ遷移
/chk/ ← ここにパスワードを設定(userID,password確認のJSP)
認証がOKならsession登録してListディレクトリ内のファイルへ遷移
/List/ ← パスワードを要しないファイル一覧(URL直打ちでもセッション登録無い時はindex.jspへ遷移)

上記の構成にしました。無事に一度ログインが通れば認証が出ないようになりました。
いや~助かりました。有難う御座います。

> これは、完全にブラウザ依存です (ブラウザが予めパスワードをつけて HTTP 要求を行うか否かに依存)。
> ブラウザを再起動するまでは、同じパスワードが使われ続けるはずです。
ブラウザをポップアップしても同じパスワードが使われ続けるんですね。

通行人さん有難う御座いました!!!
無事に出来ました。認証ダイアログの時間設定を変えようとばかりしていましたが
考え方を変えるだけで解決方法はあるのですね^^


|目次|掲示板|過去ログ目次|▲頁先頭|