Archivi tag: poc

POC: tracking dei risultati di una ricerca tramite immagini

A seguito di una interessante discussione nata sulla quale avevo già detto la mia in precedenza, Carlo Beccaria ha condotto un minimo di indagine (sfruttando curl) e scoperto un paio di cose interessanti sul conto di Google.

Sono già alcune settimane che sto studiando e cercando documentazione in questo campo, ed ho ritenuto interessante condurre due ricerche personali ad ampliamento di quanto scoperto da Carlo.

In particolare ho eseguito richieste (tramite curl) a Google passandogli cookie diversi (uno dei quali mi è stato gentilmente regalato dal buon Vecna :P), o simulando user agent diversi.

La seconda ricerca che ho effettuato è alla base del titolo del post: sviluppare un sistema analogo a quello che sembrerebbe utilizzare Google (secondo la scoperta di Carlo Beccaria) per verificarne l’effettivo funzionamento.

Il frutto di queste ricerche (e della documentazione che sto raccogliendo), sarà presentato all’HANC Meeting del 3 e 4 marzo a Milano, e successivamente riproposto in sede OpenLabs.

Alcune cose però, posso cominciare a dirle già da buon inizio, perchè trattandosi di aspetti prettamente tecnici, non servono approfondimenti ulteriori.

Il quadro che emerge dalla prima ricerca è piuttosto chiaro. Come già mostrato da Carlo Beccaria nel post precedentemente citato, Google include la funzione clk solo quando lo User-Agent è Internet Explorer. Questo avviene indipendentemente dalla piattaforma (ho provato a simulare sia una piattaforma MacOSX che una piattaforma Windows Vista e Windows Media Center, e la funzione è sempre presente).

La stessa funzione però. non viene inclusa in tutti gli altri browser, ed in particolare in Firefox, neppure quando questo si trova su una piattaforma Windows.

Rimane da approfondire la possibilità che l’introduzione dell’estensione Firebug possa in qualche modo scatenare l’introduzione di questa funzione (e quindi del relativo meccanismo di tracking) anche con il browser della Mozilla Foundation.

Se qualcuno avesse informazioni che discordano con quanto qui riportato, è invitato a contattarmi affinchè le ricerche possano svilupparsi ulteriormente in questa direzione..

La seconda parte della ricerca, forse quella piu interessante da questo punto di vista, è l’implementazione pratica di uno script PHP che simulasse in dettaglio quando fatto da Google, comprensivo di un meccanismo di tracing delle query.

Lo script che trovate qui (sorgente), non fa altro che impostare un cookie (a meno che questo non sia già stato impostato in una precedente query), di validità simile a quella del cookie di Google. A fronte della query, viene scatenato l’inserimento di questa all’interno del database, e vengono mostrati dei fittizzi risultati.

Ognuno di questi risultati riporta una funzione (qq) di fatto simile alla clk di Google, ma scremata di una serie di informazioni, al fine di semplificarne la comprensione. Questa funzione, associata all’evento OnMouseDown, scatena la richiesta di un’immagine inesistente da parte del client, e mentre questi si dirige sul link selezionato, questa richiesta (corredata di id e numero di riga) viene memorizzata nel database, prima di restituire un errore 204 (empty content).

Con un secondo script ( sorgente) preparato ad-hoc, ho reso possibile guardare nel database (le qui specifiche sono qui), in modo che ognuno di voi possa verificare l’effettivo funzionamento del meccanismo.

Annunci