Frage

Gibt es eine formale Beschränkung hinsichtlich der Zeichen in URL-Parameter-Namen erlaubt sind?

Ich habe gelesen RFC3986 ( "Uniform Resource Identifier (URI): Generic Syntax" ) kam aber zu keinem endgültigen Ergebnis.

Ich weiß, es gibt praktische Grenzen, aber wäre es tatsächlich etwas zu tun, wie verboten werden:

param with\funny<chars>=some_value

solange ich es richtig entkommen:

param%20with%1cfunny%3cchars%3e=some_value
War es hilfreich?

Lösung

Es gibt keine Beschränkungen auf entkam Parameternamen in den URI Spezifikationen. Möglicherweise gibt es Einschränkungen in der serverseitigen Software, die Sie verwenden, though. Dies gilt insbesondere, wenn Sie „hausgemachten“ Skripte verwenden, um URIs zu interpretieren.

Andere Tipps

Sie sollten auch RFC2396 . Es scheint, informativer als RFC3986 zu sein.

Es gibt reservierte Zeichen für URLs, aber so lange, wie Sie entkommen (urlencode), dann sollten Sie in Ordnung sein.

Je nach Framework verwendet, können Sie Ausnahmen, wenn Sie versuchen, verdächtige Werte zu unterbreiten. ASP.NET hat Inhaltsfilterung, die Ausnahmen auslösen, wenn Sie versuchen, „unsicher“ Daten zu übermitteln, wie Skripte oder HTML. Das ist ein Merkmal des Rahmen allerdings eher als eine Einschränkung oder die URL-Syntax erzwungen Regel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top