Foros del Web » Programando para Internet » Javascript »

Leer el historial de paginas visitadas

Estas en el tema de Leer el historial de paginas visitadas en el foro de Javascript en Foros del Web. hola muchachos quisiera saber como trabaja esta pagina que lee el historial de paginas visitadas apenas uno entra http://whattheinternetknowsaboutyou.com/ trabaja con Javascripts ? con php... ...
  #1 (permalink)  
Antiguo 26/09/2009, 20:13
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
Exclamación Leer el historial de paginas visitadas

hola muchachos quisiera saber como trabaja esta pagina que lee el historial de paginas visitadas apenas uno entra

http://whattheinternetknowsaboutyou.com/


trabaja con Javascripts ? con php... alguien podria orientarme en algunas funciones o ideas de como hacer eso ???. desde ya muchas gracias
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #2 (permalink)  
Antiguo 26/09/2009, 21:36
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Leer el historial de paginas visitadas

nota a la moderacion y administracion de FDW. el intento de explicacion en el siguiente texto tiene como unico proposito educar al lector de como funciona esta tecnica con el aquel de que conozca como evitar ser victima potencial. vale la aclaracion porque no estoy seguro si el contenido va en contra de las normas.

para mi que nunca habia visto esta tecnica, a simple vista me parecio bien espeluznante. sin embargo, me dio curiosidad por que foros del web no figuraba en la lista. invito a todos los lectores que vean el sitio y se lean las secciones como funciona, detalles tecnicos (aqui se explica como se hace), y soluciones para evitar este tipo de tecnica como usuario.

ahora bien, estrictamente no existe forma de como leer el history, o al menos directamente, ya sea en javascript o cualquier otro lenguaje, y mucho menos lenguaje servidor. sin embargo, esta tecnica usa el factor de que los navegadores aplica estilos a los enlaces visitados. hay dos formas de hacerlo: con javascript y css. pero independientemente la forma que sea hay que generar una lista de enlaces, generalmente de las mas populares. por eso forosdelweb no figuraba en esta tecnica, porque en la demostracion no tienen a forosdelweb en su base de enlaces. o sea, esta tecnica realmente no lograra capturar todo el historial del navegador, sino que en base a su lista de enlaces se determina si has visitado dicho sitio o no.

en javascript, la tecnica consta de crear el enlace con document.createElement y leer las propiedades css aplicadas, y en base a eso se determina si se ha visitado el enlace o no. por ejemplo,
Código:
<style>
	a:visited { color: red; }
</style>
<script>var a = document.createElement("a");
a.href = "http://www.forosdelweb.com/f13/leer-historial-paginas-visitadas-739031/";
if(document.defaultView.getComputedStyle(a, null).getPropertyValue("color") == 'rgb(255, 0, 0)')alert(true);
</script>
la tecnica de CSS no la comprendo muy bien porque creo que se necesita algun lenguaje servidor para tomar constancia del logueo. basicamente lo que se hace es asignarle un estilo a cada enlace con la pseudo clase visited. en ese rule se obliga al navegador hacer un request al servidor pidiendo una imagen para cargar de fondo. pero por supuesto, cada request tiene que ser diferente a los demas. tomando el ejemplo de la pagina
Código:
<style>
	a#link1:visited { background-image: url(/log?link1_was_visited); }
	a#link2:visited { background-image: url(/log?link2_was_visited); }
</style>
<a href="http://www.forosdelweb.com/f13/" id="link1"> 
<a href="http://www.forosdelweb.com/f13/leer-historial-paginas-visitadas-739031/" id="link2">
una alternativa para evitar este sniffing es limpiando constantemente el historial del navegador. lea la seccion de solucciones para otras alternativas.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:26.