Sun ONE Web Server 6.1 管理者ガイド |
第 19 章
WebDAV による Web パブリッシングSun ONE Web Server 6.1 は、Web ベースの共同作業の標準として広く採用されている WebDAV (Web-based Distributed Authoring and Versioning) をサポートしています。WebDAV は HTTP/1.1 プロトコルの拡張で、クライアントがリモート Web コンテンツのオーサリング操作を行えます。
この章では、Sun ONE Web Server 6.1 で WebDAV を使用する方法について説明します。次の項目に分けて記述しています。
WebDAV についてWebDAV は HTTP/1.1 プロトコルの拡張です。HTML や XML だけでなく、テキスト、グラフィックス、スプレッドシートなど、あらゆる形式の Web リソースに対応するための、新しい HTTP メソッドとヘッダーを追加します。
WebDAV を使用することで、次のようなタスクを実行できます。
- プロパティ (メタデータ) の操作 : WebDAV メソッドの PROPFIND と PROPPATCH を使用して、作成者や作成日など、Web ページに関する情報を作成、削除、照会することができます。
- コレクションとリソースの管理 : WebDAV メソッドの GET、PUT、DELETE、MKCOL を使用して、ドキュメントセットを作成し、階層構造のメンバーシップリスト (ファイルシステムのディレクトリリストに似ています) を取得できます。
- ロック : WebDAV を使用して、複数のユーザーが同じドキュメントを同時に操作できないようにすることができます。WebDAV メソッドの LOCK および UNLOCK を使用して相互に排他的なロック、または共有ロックを設定することで、更新が失われる問題 (変更の上書き) を回避できます。
- ネームスペースの操作 : WebDAV のメソッド COPY および MOVE を使用して、サーバーに Web リソースのコピーと移動を指示することができます。
Sun ONE Web Server 6.1 では、WebDAV は次の機能を提供します。
一般的な WebDAV 用語ここでは、WebDAV の利用時に目にすることが多い一般的な用語について説明します。
URI : URI (Uniform Resource Identifier) は、短縮 URL によるセキュリティレイヤを追加したファイル識別子です。URL の先頭部分を URL マッピングに置き換えて、ファイルの完全な物理パス名をユーザーから隠します。
ソース URI : ソース URI は、アクセスするリソースのソースを意味します。ソース URI の概念を理解するために、次の例を考えてください。
foo.jsp という JSP ページが /docs/date.jsp という URI にあります。このページには、HTML マークアップと、実行時にクライアントのブラウザにその日の日付を出力する Java コードが含まれています。サーバーがクライアントから foo.jsp に対する GET 要求を受け取ると、サーバーはそのページを配信する前に Java コードを実行します。クライアントが受け取るのはサーバー上にある foo.jsp ではなく、現在の日付を含むダイナミックに生成されたページです。
たとえば、/publish/docs というソース URI を作成し、foo.jsp ページを含む /docs ディレクトリにそれをマッピングした場合、/publish/docs/foo.jsp への要求は、/docs/foo.jsp JSP ページのソースコードに対する要求となります。この場合、サーバーは Java コードを実行せずにページを配信します。クライアントは、ディスクに格納されている未処理のページを受け取ります。
このため、ソース URI に対する要求は、リソースのソースに対する要求となります。
コレクション : WebDAV は、WebDAV 操作が有効なリソースまたはリソースセットの集合です。コレクションには、WebDAV が有効なメンバーリソースを識別する URI (メンバー URL) のセットが含まれます。
メンバー URI : コレクションに含まれる URI セットのメンバーである URI です。
内部メンバー URI : コレクションに含まれる URI と直接的な関係を持つメンバー URI です。たとえば、http://info.sun.com/resources/info という URL のリソースが WebDAV に対応しており、http://info.sun.com/resources/ という URL のリソースも WebDAV に対応している場合、http://info.sun.com/resources/ という URL のリソースはコレクションであり、内部メンバーとして http://info.sun.com/resources/info を含みます。
プロパティ : リソースを説明する情報を含む、名前と値のペアです。プロパティは、リソースの効率的な検索と管理に使用されます。たとえば、「creationdate」プロパティを使用して、リソースの作成日ですべてのリソースにインデックスを作成したり、「author」プロパティを使用して、作成者のインデックスを作成することができます。
ライブプロパティ : サーバーによって実行されるプロパティです。たとえば、ライブプロパティ getcontentlength は、GET 要求の応答として返されるエンティティの長さを値として持ちます。この長さは、サーバーによって自動的に計算されます。ライブプロパティには次の種類があります。
デッドプロパティ : サーバーによって実行されないプロパティです。サーバーはデッドプロパティの値を記録するだけなので、整合性の維持はクライアント側で行う必要があります。
Sun ONE Web Server 6.1 は、次のライブプロパティをサポートしています。
- creationdate
- displayname
- getcontentlanguage
- getcontentlength
- getcontenttype
- gettag
- getlastmodified
- lockdiscovery
- resourcetype
- supportedlock
- executable
ロック : リソースをロックすることで、他のユーザーがリソースを編集中に別のユーザーがそのリソースを変更することを防止するメカニズムが提供されます。ロックは上書きの競合を防止し、更新が失われる問題を解決します。
Sun ONE Web Server は、共有ロックと排他ロックの 2 種類のロックをサポートしています。
新しい HTTP ヘッダー : WebDAV は、HTTP/1.1 プロトコルの拡張として機能します。この拡張は、クライアントが WebDAV リソースの要求を通信するための新しい HTTP ヘッダーを定義します。次のヘッダーが含まれます。
新しい HTTP メソッド : WebDAV には、WebDAV が有効なサーバーに要求の処理方法を指示するための、いくつかの新しい HTTP メソッドがあります。これらのメソッドは、GET、PUT、DELETE などの既存の HTTP メソッドに加えて使用され、WebDAV トランザクションを処理します。次に、新しい HTTP メソッドについて簡単に説明します。
- COPY: リソースをコピーします。コレクションは Depth: ヘッダーを使用してコピーされ、ターゲットは Destination: ヘッダーによって指定されます。COPY メソッドは、必要に応じて Overwrite: ヘッダーも使用します。
- MOVE: リソースを移動します。コレクションは Depth: ヘッダーを使用して移動され、ターゲットは Destination: ヘッダーによって指定されます。MOVE メソッドは、必要に応じて Overwrite: ヘッダーも使用します。
- MKCOL: 新しいコレクションを作成します。このメソッドは、PUT メソッドのオーバーロードを防止するために使用されます。
- PROPPATCH: 1 つのリソースのプロパティを設定、変更、または削除します。
- PROPFIND: 1 つまたは複数のリソースに属する 1 つまたは複数のプロパティを取得します。クライアントがコレクションに対する PROPFIND 要求をサーバーに送信するときに、値として 0、1、または infinity を持つ Depth: ヘッダーがその要求に含まれる場合があります。
- LOCK: リソースにロックを追加します。Lock-Token: ヘッダーを使用します。
- UNLOCK: リソースからロックを消去します。Lock-Token: ヘッダーを使用します。
WebDAV の使用完全な WebDAV トランザクションには、WebDAV リソースに対する要求を処理するサーバーとして、Sun ONE Web Server 6.1 などの WebDAV 対応サーバーと、Web パブリッシング要求をサポートする WebDAV 対応クライアント (Adobe の GoLive、Macromedia の DreamWeaver など) が必要です。
サーバー側では、WebDAV 要求を処理できるように Sun ONE Web Server 6.1 を有効にし、設定する必要があります。
WebDAV を使用できるように Sun ONE Web Server 6.1 を設定するには、次の手順を実行する必要があります。
WebDAV の有効化Sun ONE Web Server 6.1 のインストール時に、WebDAV はデフォルトでは無効に設定されています。
コレクションレベルで WebDAV を有効にする場合は、サーバーレベルと仮想サーバークラスレベルでも WebDAV を有効にする必要があります。
次に、WebDAV を有効にする各レベルについて説明します。
サーバーインスタンスレベルでの WebDAV の有効化
管理サーバーを使用して、サーバー全体で WebDAV を有効にすることができます。この場合は、WebDAV プラグインをロードする次の指令が magnus.conf ファイルに追加されます。
Init fn="load-modules" shlib="/s1ws6.1/lib/libdavplugin.so" funcs="init-dav,ntrans-dav,pcheck-dav,service-dav"
shlib_flags="(global|now)"
Init fn="init-dav" LateInit=yes
Init 関数 init-dav は、WebDAV サブシステムを初期化して登録します。
WebDAV をグローバルに有効にするには、次の手順を実行します。
仮想サーバークラスレベルでの WebDAV の有効化
特定の仮想サーバークラスで WebDAV を有効にするには、次の手順を実行します。
仮想サーバークラスで WebDAV を有効にすると、関連する obj.conf ファイルが次のエントリで更新されます。
コレクションレベルでの WebDAV の有効化
1 つまたは複数の WebDAV コレクションを仮想サーバーに追加した場合は、各コレクションの WebDAV をいつでも無効または有効にすることができます。方法については、「WebDAV コレクションの編集」を参照してください。
WebDAV コレクションの作成WebDAV は、WebDAV 操作が有効なリソースまたはリソースセットの集合です。この操作には、Web パブリッシングと、共同作業によるオーサリング、ネームスペース管理、メタデータ管理が含まれます。
WebDAV コレクションを仮想サーバーに追加するには、次の手順を実行します。
- サーバーインスタンスと仮想サーバークラスで WebDAV が有効であることを確認します。詳細については、「サーバーインスタンスレベルでの WebDAV の有効化」および「仮想サーバークラスレベルでの WebDAV の有効化」を参照してください。
- 管理する仮想サーバーにアクセスし、「WebDAV」タブをクリックします。
- 「Add DAV Collection」ページに次の情報を入力します。
- URI (必須) : アクセスするコンテンツの URI
- Source URI (省略可能) : アクセスするソースの URI
ソース URI という用語の説明については、「一般的な WebDAV 用語」を参照してください。
- Lock Database (省略可能) : ロックデータベースを管理するディレクトリ。デフォルト値は server-instance/lock-db/vs-id です。
- Minimum Lock Timeout (省略可能) : ロックの最小存続時間 (秒単位)。デフォルト値は 0 です。詳細は、「ロックの最小タイムアウト」を参照してください。
- Limit XML Request Body (省略可能) : 要求のボディに含まれる XML コンテンツの最大サイズ。サービス妨害 (DOS) 攻撃を防止するには、このサイズを設定してください。
- Maximum Property Depth (省略可能) : PROPFIND 要求の適用レベルです。
- Enabled (省略可能) : コレクションレベルで WebDAV を有効にします。
- 「OK」をクリックします。
WebDAV コレクションの編集既存の DAV コレクションの属性を編集して、そのコレクションのアクセス制御などを設定することができます。
既存の WebDAV コレクションを編集するには、次の手順を実行します。
- コレクションが存在する仮想サーバーにアクセスし、「WebDAV」タブをクリックします。
- 「Edit DAV Collections」ページで次の情報を変更します。
- Delete: コレクションを削除します。
- URI: アクセスするコンテンツの URI を示します。
- Enabled: WebDAV が有効であるか (true)、無効であるか (false) を示します。
- Edit Collection: 次の情報を変更するときは、このボタンをクリックします。
- URI (必須) : アクセスするコンテンツの URI
- Source URI (省略可能) : アクセスするソースの URI
- Lock Database (省略可能) : ロックデータベースを管理するディレクトリ
- Minimum Lock Timeout (省略可能) : ロックの最小存続時間 (秒単位)。詳細は、「ロックの最小タイムアウト」を参照してください。
- Limit XML Request Body (省略可能) : 要求のボディに含まれる XML コンテンツの最大サイズ
- Maximum Property Depth (省略可能) : PROPFIND 要求の適用レベルです。
- 0: 指定したリソースにだけに適用します。
- 1: 指定したリソースと、そのリソースに含まれる次のレベルのリソースに適用します。
- infinity: 指定したリソースと、そのリソースに含まれるすべてのリソースに適用します。
- Edit ACL: このコレクションまたは URI のアクセス制御制限を設定するときは、これをクリックします。
WebDAV の設定たとえば、サーバーのパフォーマンスを調整したり、セキュリティ上のリスクを解消したり、または競合のないリモートオーサリングを提供したりする場合など、WebDAV の設定にはさまざまな理由が考えられます。
要件に適した設定を行うには、サーバーが WebDAV リソースのロックを保持する最小時間、コレクションに対する PROPFIND 要求の適用レベル、要求のボディに含めることができる XML コンテンツの最大サイズなどを変更します。
デフォルトの WebDAV 属性は、仮想サーバーの下にあるすべてのコレクションについて、仮想サーバーレベルで変更できます。ここで設定する値は、server.xml ファイルの DAV 要素に対応します。
WebDAV 属性は、コレクションレベルで設定することもできます。この設定は、コレクションに設定されている仮想サーバーレベルの属性に優先して適用されます。コレクションレベルで設定した属性値は、server.xml ファイルの DAVCOLLECTION 要素に対応します。
仮想サーバーレベルでの WebDAV の設定
仮想サーバーレベルで WebDAV の機能を設定するには、DAV オブジェクトの属性を編集する必要があります。この処理は、管理サーバーを使用して行うか、server.xml ファイルを手動で編集して行います。
次の表は、編集可能な DAV オブジェクトの属性と、その説明を示しています。
表 19-1 DAV オブジェクトの属性
属性
説明
enabled
この仮想サーバーで WebDAV の機能が有効であるかどうかを指定します。
この属性は省略可能です。デフォルト値は true です。
指定できる値は true および false です。
lockdb
ロックデータベースを管理するディレクトリを指定します。
この属性は省略可能です。
minlocktimeout
ロックの最小存続時間 (秒単位) を指定します。この値は、ロックが自動的に解除されるまでに、要素がロックされている時間を示します。詳細は、「ロックの最小タイムアウト」を参照してください。
この属性は省略可能です。
maxxmlrequestbodysize
要求のボディに含まれる XML コンテンツの最大サイズを指定します。
この属性は省略可能です。デフォルト値は 8k バイトです。
サービス妨害 (DOS) 攻撃を防止するには、このサイズを設定してください。
maxpropdepth
PROPFIND 要求の適用レベルを指定します。
このパラメータは省略可能です。デフォルト値は 0 です。
メモリの過大消費を防止するには、このパラメータの値を設定します。
URI レベルでの WebDAV の設定
URI レベルで WebDAV の機能を設定するには、server.xml ファイルの DAVCOLLECTION オブジェクトの属性を編集する必要があります。
次の表は、編集可能な DAVCOLLECTION オブジェクトの属性と、その説明を示しています。
表 19-2 DAVCOLLECTION オブジェクトの属性
属性
説明
enabled
このコレクションで WebDAV の機能が有効であるかどうかを指定します。
この属性は省略可能です。
指定できる値は true および false です。デフォルト値は true です。
uri
アクセスするコンテンツの URI を指定します。
この属性の指定は必須です。
sourceuri
アクセスするソースの URI を指定します。詳細については、「一般的な WebDAV 用語」および「WebDAV 対応サーバーでのソース URI と Translate:f ヘッダーの使用」を参照してください。
この属性は省略可能です。
sourceuri を指定しない場合はデフォルトの動作が適用され、コレクション内のダイナミックなコンテンツのソースへのアクセスが拒否されます。
uri と sourceuri に同じ URI を指定することができます。この場合、サーバーは常にダイナミックなコンテンツのソースを返します。これは、パブリッシング用に独立した安全な仮想サーバーを利用している場合に便利です。
lockdb
ロックデータベースを管理するディレクトリを指定します。
この属性は省略可能です。
minlocktimeout
ロックの最小存続時間 (秒単位) を指定します。この値は、ロックが自動的に解除されるまでに、要素がロックされている時間を示します。詳細は、「ロックの最小タイムアウト」を参照してください。
この属性は省略可能です。
maxxmlrequestbodysize
要求のボディに含まれる XML コンテンツの最大サイズを指定します。
この属性は省略可能です。
サービス妨害 (DOS) 攻撃を防止するには、このサイズを設定してください。
maxpropdepth
コレクションのメンバーリソースをリスト表示する PROPFIND 要求の適用レベルを指定します。
このパラメータは省略可能です。
メモリの過大消費を防止するには、このパラメータの値を設定します。
WebDAV 対応サーバーでのソース URI と Translate:f ヘッダーの使用WebDAV メソッドは、リソースまたはコレクションのソースに対して実行されます。GET や PUT などの HTTP メソッドは WebDAV プロトコルによってオーバーロードするため、これらのメソッドを持つ要求は、リソースのソースに対する要求か、またはリソースのコンテンツ (出力) に対する要求となります。
Microsoft およびその他多数の WebDAV ベンダーは、要求に Translate:f ヘッダーを含め、その要求がソースに対するものであることをサーバーに指示することで、この問題を解決しています。広く利用されている WebDAV クライアントである Microsoft WebFolders との相互動作性を確保するために、Sun ONE Web Server 6.1 は、Translate:f ヘッダーによりリソースのソースに対する要求として認識します。Translate:f ヘッダーを送信しないクライアントに対応するために、Sun ONE Web Server 6.1 では ソース URI を定義します。ソース URI という用語の詳しい説明については、「一般的な WebDAV 用語」を参照してください。
WebDAV が有効なコレクションでは、URI に対する要求はリソースのコンテンツ (出力) を取得し、ソース URI に対する要求はリソースのソースを取得します。 Translate:f ヘッダーを持つURI に対する要求は、ソース URI に対する要求として処理されます。
リソースのソースに対するすべてのアクセスは、デフォルトでは dav-src ACL によって拒否されることに注意してください。サーバーインスタンスに固有の ACL ファイルには、次の宣言が含まれます。
PathCheck fn="check-acl" acl "dav-src";
deny (all) user = "anyone";
ユーザーは、ソース URI に対するアクセス権を追加することで、ソースに対するアクセスを有効にすることができます。URI 固有の ACL の詳細については、「WebDAV のアクセス制御の有効化」を参照してください。
リソースのロックとロック解除Sun ONE Web Server では、サーバー管理者はリソースをロックし、そのリソースに対するアクセスを直列化することができます。ロックを使用することで、特定のリソースにアクセスするユーザーは、他のユーザーが同じリソースを変更しないようにできます。このようにすると、サーバー上の複数のユーザーがリソースを共有することによって生じる、更新が失われる問題が解決されます。クライアントが発行し、使用するロックトークンは、サーバーが管理するロックデータベースによって追跡されます。
Sun ONE Web Server 6.1 は、opaquelocktoken URI スキームをサポートしています。このスキームは、すべてのリソースで URI が常に一意であるように設計されています。これは、ISO-11578 で規定されている UUID (Universal Unique Identifier) メカニズムを使用します。
Sun ONE Web Server 6.1 は、次の 2 種類のロックメカニズムを認識します。
排他的ロック
排他的ロックは、リソースに対するアクセス権を 1 人のユーザーだけに与えるロックです。別のユーザーは、リソースの排他的ロックが解除されるまでこのリソースにアクセスできません。
排他的ロックは、リソースをロックするメカニズムとしては厳密すぎたり、パフォーマンスへの影響が多きすぎる場合もあります。たとえば、プログラムがクラッシュしたり、ロックの所有者がリソースのロック解除を忘れた場合、排他的ロックを解除するにはロックタイムアウトに達するのを待つか、管理者が設定変更を行う必要があります。
共有ロック
共有ロックでは、複数のユーザーがリソースのロックを受け取ることができます。このため、適切なアクセス権があるユーザーであれば、ロックを取得できます。
共有ロックを使用するときは、ロックの所有者は何らかの通信手段を使用して作業を調整する必要があります。共有ロックの目的は、誰がリソースを操作できるかを共同作業者に知らせることです。
ロックの管理
Sun ONE Web Server 6.1 のロック管理機能を使用することで、設定されているすべてのロック、ロックの種類、対象リソース、ロックされている時間などを確認することができます。
ロック管理機能を使用するには、次の手順を実行します。
ロックの最小タイムアウト
server.xml ファイルの DAV オブジェクトまたは DAVCOLLECTION オブジェクトで minlocktimeout 属性に値を設定することで、ロックを制御することができます。minlocktimeout 属性は、ロックの最小存続時間を秒単位で指定します。この値は、ロックが自動的に解除されるまでに、要素がロックされている時間を示します。
この属性は省略可能です。-1 という値が設定されている場合、そのロックには時間制限がありません。値を 0 に設定した場合、コレクションに含まれるすべてのリソースがロックされ、要求に Timeout ヘッダーが指定されます。
Timeout ヘッダーを指定しない場合、リソースのロックはタイムアウトしません。また、要求に含まれる Timeout ヘッダーの値が Infinite に設定されている場合も、リソースのロックはタイムアウトしません。
WebDAV リソースに対する要求に含まれる Timeout ヘッダーの値が server.xml ファイルの minlocktimeout の値と同じか、あるいはそれより大きい場合は、リソースのロック期間は要求に指定されている時間となります。
ただし、server.xml ファイルの minlocktimeout 値より小さい値が要求の Timeout ヘッダーに指定されている場合は、リソースのロック期間は server.xml ファイルに設定されている minlocktimeout の値となります。
次の表は、Sun ONE Web Server がロック要求をどのように処理するかを示しています。
表 19-3 Sun ONE Web Server によるロック要求の処理
要求に含まれる Timeout ヘッダーの値
リソースのロック期間
Infinite
タイムアウトが -1 (時間制限なし) の設定でロック
なし
タイムアウトが -1 (時間制限なし) の設定でロック
Second-xxx
または
ロック要求の例
次の例は、タイムアウトを 500 秒に設定して /col1/myfile.html リソースへの書き込みを排他的にロックする要求を示しています。
LOCK /col1/myfile.html HTTP/1.1
Host: sun
Content-Type: text/xml; charset="utf-8"
Content-Length: 259
Timeout: Second-500
<?xml version=.0encoding=砥tf-8?>
<d:lockinfo xmlns:d=泥AV:gt;
<d:locktype><d:write/></d:locktype>
<d:lockscope><d:exclusive/></d:lockscope>
<d:owner>
<d:href>http://info.sun.com/resources/info.html</d:href>
</d:owner>
</d:lockinfo>
WebDAV のアクセス制御の有効化WebDAV が有効なドキュメントとディレクトリに誰がアクセスできるか、また、どのユーザーまたはユーザーグループがファイルに対してどのような処理を実行できるかを制御することができます。また、ファイルやフォルダに対するアクセスを完全に禁止したり、認証された特定のユーザーだけにアクセスを制限することもできます。
サーバーに適用されるデフォルトのアクセス制御 (ACL) では制限や柔軟性が十分でない場合は、「Restrict Access」機能 (「Server Preferences」を選択し、「Restrict Access」リンクをクリック) を使用して、WebDAV が有効なリソースに対するアクセス制限に適した ACL を作成できます。
WebDAV 要求は、AuthTrans ステージと PathCheck NSAPI ステージでそれぞれ認証、承認されます。次の例は、「joe」というユーザー名を持たないすべてのユーザーにコレクション /catalog への書き込みアクセスおよび削除アクセスを拒否するアクセス制御規則を示しています。
acl "uri=/catalog/*";
deny(all)
user="anyone";
allow (read,list,execute,info)
user = "all";
allow(write,delete)
user="joe";
詳細は、「WebDAV コレクションの編集」を参照してください。
WebDAV 有効リソースへのアクセスの制限
WebDAV コレクションのアクセス制御は、ネイティブ ACL ファイルで指定します。すべての WebDAV メソッドは、WebDAV 有効リソースに対する適切なアクセス権を必要とします。たとえば、WebDAV 有効ファイルが同時に複数のユーザーによって共有される場合、同時アクセスを制御するためにリソースをロックまたはロック解除するには、リソースに対する書き込みアクセス権が必要です。
次の表は、各 WebDAV メソッドに必要なアクセス権を示しています。
表 19-4 WebDAV に必要なアクセス権
DAV メソッド
必要なアクセス権
DELETE
削除
PROPFIND
読み取り
PROPPATCH
書き込み
LOCK/UNLOCK
書き込み
MKCOL
書き込み
COPY(src,dst)
src - 読み取り
dst - 書き込み
MOVE(src,dst)
src - 削除
dst - 書き込み
request-uri の GET
読み取り
request-uri の GET
Translate:f
読み取り
request-uri の PUT
書き込み
request-uri の PUT
Translate:f
書き込み
セキュリティに関する注意事項WebDAV を使用するときは、セキュリティに関する次の事項に注意してください。
- WebDAV が有効なサーバーのプロセスは、制御対象のファイルシステムに対する読み取り、書き込み権限を持っていることを確認します。
- セキュリティ上の理由から、WebDAV が有効な仮想サーバーを、アクセスが制限され、SSL を使用してデータを暗号化して送信する別の待機ソケットに設定する必要がある場合があります。SSL の使用については、「証明書と鍵の使用」を参照してください。
- サービス妨害 (DOS) 攻撃を防止するために、要求のボディに含まれる XML コンテンツのサイズを制限してください。このサイズは、デフォルトでは 8k バイトに制限されています。
- 基本認証では認証詳細の転送にプレーンテキストが使用されるため、接続がセキュリティ保護されている場合を除き、WebDAV クライアントの認証には基本認証ではなく、ダイジェスト認証を使用してください。
- PROPFIND 要求を実行した場合、サーバーコンテンツに対して好ましくないアクセスが行われるリスクがあるので、アクセス制御を使用して WebDAV 対応リソースをセキュリティ保護してください。
- ソース URI 機能により、WebDAV にはスクリプトリソースなどの重要な情報を含む URI を開示してしまう可能性があります。スクリプトのリモート作成が可能になるというリスクを認識し、ソースリソースへの読み取りと書き込みのアクセスを、認証されたユーザーだけに限定してください。
- PROPFIND 要求の適用レベルを制限し、メモリの過大消費を回避してください。適用レベルは、デフォルトでは 0 に設定されています。