¿Cómo accedes al historial del navegador?

Algunas herramientas de e-Marketing afirman elegir qué página web mostrar en función de dónde estaba antes. Es decir, si ha estado navegando por sitios de camiones y luego va a Ford.com, su primera página sería de Ford Explorer.

Sé que puede obtener la página anterior inmediata con HTTP_REFERRER, pero ¿cómo sabe dónde estaban hace 6 sitios?

Javascript esto debería comenzar: http://www.dicabrio.com/javascript/steal-history.php
Hay más medios nefarius para: http://ha.ckers.org/blog/20070228/steal-browser-history-without-javascript/
Editar: quería agregar que, aunque esto funciona, es una técnica de marketing sórdido y una invasión de la privacidad.

No relacionado pero relevante, si solo quiere mirar una página hacia atrás y no puede acceder a los encabezados de una página, entonces document.referrer le brinda el lugar desde el que vino el visitante.

No puede acceder a los valores de las entradas en el historial del navegador (ni del lado del cliente ni del servidor). Todo lo que puede hacer es enviar el navegador hacia atrás o hacia adelante una serie de pasos. Las entradas del historial están ocultas por el acceso programático.

También tenga en cuenta que HTTP_REFERER no estará allí si el usuario escribió la dirección en la barra de URL en lugar de seguir un enlace a su página.

No se puede acceder directamente al historial del navegador, pero puede comparar una lista de sitios con el historial del usuario. Esto se puede hacer porque el navegador atribuye un estilo CSS diferente a un enlace que no se ha visitado y otro que sí lo ha hecho.

Usando esta diferencia de estilo puedes cambiar el contenido de tus páginas usando CSS puro, pero en general se usa javascript. Aquí hay un buen artículo sobre el uso de este truco para mejorar la experiencia del usuario al mostrar solo el agregador RSS o los enlaces de marcadores sociales que el usuario realmente usa: http://www.niallkennedy.com/blog/2008/02/browser-history -sniff.html