Question

Existe-t-il une restriction formelle quant aux caractères autorisés dans les noms de paramètre d'URL?

Je lis RFC3986 (" identificateur de ressource uniforme (URI): syntaxe générique " ;) mais n’a pas abouti à une conclusion définitive.

Je sais qu'il existe des limitations pratiques, mais serait-il réellement interdit de faire quelque chose du genre:

param with\funny<chars>=some_value

tant que j'y échappe correctement:

param%20with%1cfunny%3cchars%3e=some_value
Était-ce utile?

La solution

Il n'y a aucune restriction sur les noms de paramètres d'échappement dans les spécifications d'URI. Le logiciel côté serveur que vous utilisez peut toutefois contenir des restrictions. Cela est particulièrement vrai si vous utilisez des scripts «maison» pour interpréter les URI.

Autres conseils

Vous devriez également lire RFC2396 . Il semble être plus informatif que RFC3986.

Il y a des caractères réservés pour les URL, mais tant que vous échappez (urlencode), tout devrait bien se passer.

En fonction du cadre utilisé, vous pouvez obtenir des exceptions si vous essayez de soumettre des valeurs suspectes. ASP.NET dispose d'un filtrage de contenu qui génère des exceptions si vous essayez de soumettre le message "non sécurisé". les données, comme les scripts ou HTML. Cependant, il s’agit d’une caractéristique du cadre plutôt que d’une limitation ou d’une règle imposée par la syntaxe de l’URL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top