Windows (Vista) が「二重」WebDAV リクエストを実行しないようにする方法

StackOverflow https://stackoverflow.com/questions/666553

  •  21-08-2019
  •  | 
  •  

質問

WebDAV アクセスには DIGEST 認証を使用します。Windows クライアントが各リクエストを 2 回送信していることがわかります。最初のリクエストにはありません Authorization ヘッダー (そして 401 応答を取得)、2 番目のリクエストには Authorization ヘッダー (そして通常は正しい応答が得られます)。

ユーザーにはおそらくこれが見えませんが、Webdav 全体のアクセスが必要以上に遅くなります。

何らかの方法でこの動作を回避することはできますか?Windows にこれを行わないよう説得する特別な応答があるのでしょうか?DIGEST の代わりに BASIC を使用すると、正常に動作します (単一リクエストのみを実行します) Authorization ヘッダーは常に含まれます)

役に立ちましたか?

解決

私は「チャレンジ/レスポンス」方式と呼ばれている、あなたが説明した方法は、WebDAVのためのの意図の振る舞いであると信じています。少なくともそれはスペックのに応じています。認証ヘッダなく、その最初の要求が必要です。 WebDAVのからの応答は、例えば、反対偏向支援し、次の要求を検証するためにナンスするが含まれていますリプレイ攻撃。

だから、一番下の行:あなたがすることはできません、との必要がありませんのこの動作を回避してみてください。

これをやっている、あなたのWindows以外のクライアントについては...それは、彼らが最初のチャレンジ/レスポンスのコールの後に何らかの方法でナンスをキャッシュして再利用することが可能です。これは確かにスペックで許可されている - ナンスは使い捨てアイテムであることを想定しているにもかかわらず、スペックは、WebDAVサーバが複数の要求にわたって、nonceが短命にすることができます。それはあなたのWindows以外のクライアントがWebDAVサーバーを認識することができますし、それに応じて行動するが、Windowsクライアントではない可能性があります。

その場合は、私がnonceをキャッシュし、クライアントを見つけるために、ユーザーに依頼するよりも、他の周りの仕事を知りません。残念ながら、私はあなたがそのようなクライアントを見つけることができません。私のGoogleの-FUは、その点では失敗しました。

他のヒント

また、「事前認証」と呼ばれるものを研究することができます。 inital匿名要求を送るとは対照的に、事前認証は、認証ヘッダを有する第1の要求を送信している。

ウェブサイトは事前に認証を必要とする場合は、

あなたは通常、認証が必要かどうかを事前に知っているので、アプリケーションやWebサービスは、このための理想的ですが、あなたは一般的に知らないます。

Webフォルダ/ WebDAVは特殊なケースですが、もう一度、あなたはわからない。

事前認証の問題は、あなたが潜在的にあなたが必ずしも信頼していないサイトに情報を送信していることです。基本認証は、王国(プレーンテキストでユーザー/パスワード)に鍵を与えるしかしネゴシエート、NTLMとダイジェストがそれほど悪くないでしょう。

あなたはの上こちらをご覧を取ることができます私は正常に使用しているWebサービスのための.NETのpreauthenticating、初期401を排除します。

Windows WebFolder クライアントで苦労している場合は、以下を参照してください。 この問題リスト で主催される greenbytes WebDav サイト. 。リストに含まれていない Vista 固有の詳細に気付いた場合は、編集者にメモを送ってください。

あなたは安全性の低い設定を許可気にしないの周りの場合は仕事がPROPFIND要求をリスト匿名のディレクトリ階層を許可し、他のすべてを認証することです。 http://blog.klinsight.com/2013/02/見ます窓-webdavの-ダブルauthentication.htmlする - (私は私の仕事のためにその記事を書きました)。時間の節約は重要である。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top