E' iniziato tutto leggendo un articolo del Corriere che rimanda a questo Blog che tramite una procedura stabilisce il sesso dell'utente che lo sta guardando. Questa "procedura" mi ha intrigato abbastanza ed ho voluto andare più a fondo per capire cosa faceva e come funzionava.
In linea generale la procedura va a verificare che siti avete navigato di recente e sulla base di alcuni pesi stabilisce se sono siti navigati più da donne o da uomini. Fa una media di tutto ed esce il risultato. Ok, ma la cosa assurda è, come fa a vedere in remoto quali siti abbiamo navigato ? E questo è il succo di tutta la faccenda.
La procedura è codificata in linguaggio Javascript. Lo script è abbastanza noto socialhistory.js ma io non lo conoscevo. Dentro questo javascript c'è un array di molti siti comuni tra cui youtube, google, msn, yahoo, ecc. Ma ora viene il bello. Lo script agisce sul DOM della pagina e va a creare un Iframe nascosto. Dentro questo IFrame va a caricare l'array di tutti i siti web di cui sopra e poi, udite udite, va a recuperarne lo stile del link (come sapete in genere il browser colora di un certo tipo i link (visited) su cui avete navigato, e di un altro quelli su cui non avete navigato). Da ciò si ottiene l'informazione che si ha un elenco (anche se parziale) dei siti su cui avete navigato, cool vero ?
Se siete interessati allo script visitate il source code della pagina trovate il riferimento a socialhistory.js e scaricatelo.