メインコンテンツまでスキップ

4. Security Considerations (セキュリティ考慮事項)

URIテンプレートには、アクティブまたは実行可能なコンテンツは含まれていません。ただし、攻撃者がテンプレートを制御した場合、または展開で予約文字を許可する式内の変数値を制御した場合、予期しないURIを作成する可能性があります。いずれの場合でも、セキュリティ上の考慮事項は、主に次の要因によって決まります:誰がテンプレートを提供するか、誰がテンプレート内の変数の値を提供するか、展開がどの実行コンテキスト(クライアントまたはサーバー)で発生するか、および結果のURIがどこで使用されるか。

この仕様は、URIテンプレートが使用される場所を制限しません。現在の実装は、サーバー側開発フレームワーク内および計算されたリンクまたはフォーム用のクライアント側JavaScriptに存在します。

フレームワーク内では、テンプレートは通常、クライアント要求内の後の(リクエスト時の)URIでデータが発生する可能性のある場所のガイドとして機能します。したがって、セキュリティ上の懸念はテンプレート自体にあるのではなく、サーバーが通常のWeb要求内でユーザー提供データを抽出および処理する方法にあります。

クライアント側の実装内では、URIテンプレートはHTMLフォームと同じプロパティの多くを持っていますが、URI文字に制限され、メッセージ本文コンテンツだけでなくHTTPヘッダーフィールド値に含まれる可能性があります。テンプレートと値の両方が信頼できるソースによって提供されない限り、"javascript:"で始まる文字列など、潜在的に危険なURI参照文字列が展開に現れないように注意する必要があります。

その他のセキュリティ上の考慮事項は、[RFC3986]のセクション7で説明されているURIの考慮事項と同じです。