# Vorher besuchte Seite ermitteln



## Schumiel (17. Mai 2009)

Hallo,

ich möchte gern paar Webseiten vor dem Besuch meiner Webseite nicht zu meiner Webseite zugänglich machen.

z.B. proxy.org ... wenn darüber jemand meine Seite besucht, soll er keine Lesemöglichkeiten auf meiner Webseite haben.
Über PHP ist das doch mit ...

```
echo $_SERVER['HTTP_REFERER'];
```
... möglich. Dennoch zeigt es mir hierbei die Seite nicht an. Die Variabel ist leer.

Warum und/oder was muss ich dazu tun?


----------



## saftmeister (17. Mai 2009)

Wenn du eine Seite direkt im Browser ansurfst, hat sie keinen HTTP_REFERER.

Wenn du prüfen willst, ob jemand über einen Proxy kommt, solltest du HTTP_X_FORWARDED_FOR untersuchen.


----------



## Schumiel (17. Mai 2009)

Ich gebe es nicht direkt im Browser ein, sondern teste es anhand von proxy.org ... aber auch mit HTTP_X_FORWARDED_FOR gibt er mir nur eine leere Seite aus.


----------



## CookieBuster (17. Mai 2009)

Der REFERER ist nicht immer gefüllt. Das ist Computer bzw Firewall abhängig. (Kann glaub auch vom Router abhängen)

bei dem HTTP_X_FORWARDED_FOR weiß ich es nicht, könnte mir aber vorstellen, dass es ähnlich ist.


----------



## Schumiel (17. Mai 2009)

Aber es muss doch irgendwie gehen oder geht das mit PHP nicht?


----------



## saftmeister (17. Mai 2009)

Hi,

also ein Proxy kann i.d.R. das Verhalten des HTTP-Protokolls so verändern, dass am Host, an dem der Ziel-Webserver lauscht, nicht festgestellt werden kann, wie der URI lauten muss, über den ein Browser an die Webseite gekommen ist. Kurz um deine Frage zu beantworten, wenn HTTP_REFERER und HTTP_X_FORWARDED_FOR leer sind, wird es schwierig, herauszufinden, ob ein User nun einen Proxy verwendet oder die Webseite direkt (also ohne Vorgänger) angesurft hat.

Ich stelle mir nur die Frage, warum man jemanden aussperren will, nur weil er über einen Proxy kommt.


----------



## Schumiel (17. Mai 2009)

Ich habe Google Analytics laufen und da wird mir besonders über die proxy.org aufgezeigt, das viele User davon kommen.

Ich führe ein Browsergame, wo ich befürchte, dass sich jemand dadurch mit mehreren Accounts bedient. Wenn Google die vorher besuchte Seite heraus bekommt, muss das doch irgendwie gehen?


----------



## saftmeister (17. Mai 2009)

Versuch es doch mal mit REMOTE_ADDR, vielleicht bringt dich das weiter?


----------



## Schumiel (17. Mai 2009)

Dann wird mir folglich eine IP ausgegeben, aber die nützt mir doch nichts!


----------



## saftmeister (17. Mai 2009)

Wenn es sich um die IP eines Proxy-Servers handelt, schon oder?


----------



## Schumiel (17. Mai 2009)

Wenn ich nur die IP sehe, woran erkenne ich, dass es sich dann um ein Proxy-Server handelt?

Übrigens habe ich bei einigen Proxy gesehen, dass sie eine Funktion "no Referrer" haben. 

Edit:

```
gethostbyaddr($_SERVER['REMOTE_ADDR'])
```
Darf dies überhaupt eine IP enthalten?


----------



## saftmeister (17. Mai 2009)

Schumiel hat gesagt.:


> Wenn ich nur die IP sehe, woran erkenne ich, dass es sich dann um ein Proxy-Server handelt?



Es gibt einige Sites im Netz, die Blacklisten für Proxy-Adressen anbieten.



Schumiel hat gesagt.:


> Übrigens habe ich bei einigen Proxy gesehen, dass sie eine Funktion "no Referrer" haben.



Yup, hab ich bereits erwähnt ;-)



Schumiel hat gesagt.:


> Edit:
> 
> ```
> gethostbyaddr($_SERVER['REMOTE_ADDR'])
> ...



Selbstverständlich kann das vorkommen. Wenn es für diese IP-Adresse keinen Nameserver-Eintrag gibt, oder an dem zuständigen NS kein Reverse-Lookup gemacht werden darf (Konfiguration).


----------



## Schumiel (26. Mai 2009)

saftmeister hat gesagt.:


> Es gibt einige Sites im Netz, die Blacklisten für Proxy-Adressen anbieten.


Kannst du mir eine Seite davon nennen?
Weil wenn ich danach Google, bekomme ich immer nur Kindersicherungsprogramme oder wie ich was schützen kann aufgelistet.


----------



## saftmeister (26. Mai 2009)

http://www.ip2location.com/ip2proxy-ip-country.aspx
http://www.fraudlabs.com/ip2proxy.aspx

Sei dir im Klaren darüber, das Leute, die bei ihrem Provider einen Zwangs-Proxy haben (AOL bspw.) dann keinen Zugriff auf deine Seiten haben werden.


----------



## Schumiel (27. Mai 2009)

Ok, ich danke dir für deine Hilfe.
Hat mir sehr geholfen.


----------

