# History URL auslesen



## mrno (14. Mai 2007)

Hi,
für eine bookmark funktion auf meiner Website möchte ich die letzt besuchte Seite auslesen. Leider bin ich da noch nicht weit gekommen. Es gibt zwar das Object history. Mit dem kann man ja aber nur zurück und vorwärtsspringen. Kennt einer ne möglichkeit die URL der Zuletzt besuchten Seite auszulesen und diese in einer Variablen abzuspeichern?


----------



## rotzlöffeli (14. Mai 2007)

Sofern man über einen Link o.ä. zu der Seite gekommen ist, und der Browser diese Info herausgeben möchte, kannst du es per

```
document.referrer
```
...ermitteln. Das gibt dir die URL der Seite, von welcher aus man zu der aktuellen Seite gekommen ist.

Die Adressen der History selbst kannst du natürlich nicht auslesen, das wäre ein unzumutbarer Eingriff in die Privatsphäre.


----------



## fyn (28. November 2007)

Das mit dem Eingriff der Privatsphäre ist ein Argument. Aber möglich ist es in kleinem Maße schon...

Direkt die zuletzt besuchte Seite geht nur über den Referer. Die generelle History ohne chronologische Zuordnung wäre in etwa wie folgt:

man nehme ein Array an Websites:

```
var websites = [
"http://www.google.de",
"http://tutorials.de"];

Kleine Schleife:
for (var z = 0; z < websites.lenght; z++){
  var link = document.createElement("a");
  link.id = "id" + i;
  link.href = websites[z];

  document.write('<style>');
  document.write('#id' + i + ":visited {color: #FF0000;}");
  document.write('</style>');
  
  document.body.appendChild(link);
        var color =  document.defaultView.getComputedStyle(link,null).getPropertyValue("color");
        document.body.removeChild(link);

if (color == "rgb(255, 0, 0)") // visited

}
```

Ist natürlich als Code nicht ausformuliert. Mit entsprechender Websiteliste und Ajax und ein paar Stunden arbeit in das Script lässt sich so quasi per "Bruteforce" die History auslesen.

Vor allem aber lässt sich so sehr schnell erkennen, ob ein Besucher ein neuer Besucher ist, oder aber ein wiederkehrender. Klar ist es einfacher sich hier eines Cookies zu bedienen, aber für Besucher, die keine Cookies erlauben, wäre es ein Workaround.


Naja... Just my 2 Cents zu diesem total alten Beitrag. Ich war eigentlich auf der Suche nach einer besseren Versionen meines oben angefangenen Beispiels...


----------



## Sven Mintel (28. November 2007)

Interessanter Ansatz 

Auch wenn zum Auslesen der History eher nicht praktisch umsetzbar sein dürfte, dürfte man dies aber als allumfassendes Sicherheitsleck der Browserindustrie bezeichnen


----------



## fyn (28. November 2007)

Naja... Das komplette auslesen der History wird eher durch Zufall gelingen. Jetzt müsste man natürlich hart nachrechnen, aber nehmen wir mal folgendes Beispiel:

Google möchte Daten der Internetuser. Wie macht Google das. Einfach alles per Cookie tracken. Mist... Was passiert, wenn die Besucher die Suchmaschine, Mail oder andere Dienste von google verlassen. Schwups.. Adsense, Analytics usw. Schon kommt man wieder an die Daten...

Einige Besucher sind trotzdem nur innerhalb einer "Surfsession" erkennbar. Also o.g. Script in Adsense, Analytics usw. einbauen. Auf einer beachtlichen Anzahl der Internetseiten auf denen wir uns rumtreiben könnte man nun nach Laden der eigentlichen Seite damit anfangen per Ajax die History zu erahnen. 

Hmm... Macht google das vielleicht sogar schon? Werde mir deren Scripte mal genauer anschauen 

Aber wahrscheinlich ist oben beschriebener Ansatz nicht wirklich im Einsatz, wie du, Sven, schon richtig vermutest...


----------

