URL HTTP: caratteri consentiti nei nomi dei parametri
-
03-07-2019 - |
Domanda
Esistono restrizioni formali su quali caratteri sono ammessi nei nomi dei parametri URL?
Ho letto RFC3986 (" Uniform Resource Identifier (URI): Sintassi generica " ;) ma non è giunto a una conclusione definitiva.
So che ci sono limiti pratici, ma in realtà sarebbe vietato fare qualcosa del genere:
param with\funny<chars>=some_value
purché sfugga correttamente:
param%20with%1cfunny%3cchars%3e=some_value
Soluzione
Non ci sono restrizioni sui nomi dei parametri di escape nelle specifiche URI. Tuttavia, potrebbero esserci delle limitazioni nel software lato server utilizzato. Ciò è particolarmente vero se usi & # 8220; fatto in casa & # 8221; script per interpretare gli URI.
Altri suggerimenti
Dovresti anche leggere RFC2396 . Sembra essere più informativo di RFC3986.
Esistono caratteri riservati per gli URL, ma finché scappi (urlencode) dovresti andare bene.
A seconda del framework utilizzato, potresti ricevere eccezioni se provi a inviare valori sospetti. ASP.NET ha un filtro dei contenuti che genererà eccezioni se provi a inviare "non sicuro" dati, come script o HTML. Questa è una caratteristica del framework, piuttosto che una limitazione o una regola imposta dalla sintassi dell'URL.