Zum Hauptinhalt springen

4. Security Considerations (Sicherheitsüberlegungen)

Eine URI-Vorlage enthält keinen aktiven oder ausführbaren Inhalt. Es könnte jedoch möglich sein, unerwartete URIs zu erstellen, wenn ein Angreifer die Kontrolle über die Vorlage oder über die Variablenwerte innerhalb eines Ausdrucks erhält, der reservierte Zeichen in der Expansion zulässt. In beiden Fällen werden die Sicherheitsüberlegungen weitgehend dadurch bestimmt, wer die Vorlage bereitstellt, wer die Werte für Variablen innerhalb der Vorlage bereitstellt, in welchem Ausführungskontext die Expansion stattfindet (Client oder Server) und wo die resultierenden URIs verwendet werden.

Diese Spezifikation schränkt nicht ein, wo URI-Vorlagen verwendet werden könnten. Aktuelle Implementierungen existieren innerhalb von serverseitigen Entwicklungs-Frameworks und innerhalb von clientseitigem JavaScript für berechnete Links oder Formulare.

Innerhalb von Frameworks fungieren Vorlagen normalerweise als Leitfäden dafür, wo Daten in späteren (Anforderungszeit-)URIs in Client-Anforderungen auftreten könnten. Daher liegen die Sicherheitsbedenken nicht in den Vorlagen selbst, sondern vielmehr darin, wie der Server die vom Benutzer bereitgestellten Daten in einer normalen Web-Anforderung extrahiert und verarbeitet.

Innerhalb clientseitiger Implementierungen hat eine URI-Vorlage viele der gleichen Eigenschaften wie HTML-Formulare, außer dass sie auf URI-Zeichen beschränkt ist und möglicherweise in HTTP-Header-Feldwerten anstatt nur im Nachrichteninhalt enthalten ist. Es sollte darauf geachtet werden, dass potenziell gefährliche URI-Referenzzeichenketten, wie solche, die mit "javascript:" beginnen, nicht in der Expansion erscheinen, es sei denn, sowohl die Vorlage als auch die Werte werden von einer vertrauenswürdigen Quelle bereitgestellt.

Andere Sicherheitsüberlegungen sind die gleichen wie die für URIs, wie in Abschnitt 7 von [RFC3986] beschrieben.