Tecnicamente, un punto e virgola è un sotto-delimitatore legale in una stringa URL; un sacco di materiale di partenza è quotato sopra, incluso http://www.ietf.org/rfc/rfc3986.txt.
E alcuni lo usano per scopi legittimi anche se il suo utilizzo è probabilmente specifico del sito (cioè, solo per l'uso con quel sito) perché il suo utilizzo deve essere definito dal sito che lo utilizza.
Nel mondo reale, tuttavia, l'uso principale dei punti e virgola negli URL è nascondere un URL di virus o phishing dietro un URL legittimo.
Per esempio, inviando una e-mail a qualcuno con questo link:
http: // www.yahoo.com/junk/nonsense;0200.0xfe.0x37.0xbf/malicious_file/
si tradurrà in Yahoo! link (www.yahoo.com/junk/nonsense) viene ignorato perché anche se è legittimo (cioè formato correttamente) non esiste una tale pagina. Ma il secondo link (0200.0xfe.0x37.0xbf/malicious_file /) esiste presumibilmente * e l'utente verrà indirizzato alla pagina del file malicious_file; al che il proprio responsabile IT aziendale otterrà un report e uno probabilmente otterrà una scivolata rosa.
E prima che tutti i nay-sayer si tirino su, questo è esattamente come funziona il nuovo problema di phishing di Facebook. I nomi sono stati cambiati per proteggere i colpevoli come al solito.
* Nessuna di queste pagine esiste in realtà per quanto ne so. Il collegamento mostrato è solo per gli scopi di questa discussione.
fonte
2010-04-12 14:54:28
"non può essere utilizzato non codificato": ... per uno scopo diverso dal suo significato speciale. La risposta corretta alla domanda è "Sì, è legale avere un punto e virgola in un URL", ma l'impressione che ottengo da questa risposta (non dalla citazione spec, ma dal sommario) è "No, un punto e virgola non codificato potrebbe non essere usato in un URL. " – Miles
@Miles modificato per chiarire – Greg
Sono in ritardo per la festa, ma questo codice riguarda esplicitamente gli URL http/https, cosa che consente; come separatore stringa di query (invece di &) ... in realtà, Ben lo ha già trattato. – Powerlord