[PHP] Referer verhindern
-
Es gibt da jemanden der ist so nett und verlinkt mit seiner Subdomain auf ein Forum, dass einem Freund von mir gehört.
Nun sieht es aber so aus, als würde das Forum gar nicht ihm gehören sondern dem bösen Verlinker.
Wie kann ich es nun einrichten, dass Leute die von der Domain des bösen Verlinkers auf unser Forum kommen:
a) Entweder dann auch in der Adressleiste die Adresse meines Freundes sehen oder
b) zu unserer Startseite umgeleitet werdenMöglichkeit b ist ja mit PHP kein Problem, aber wie lässt sich a einrichten? Entscheidet das bloß der Browser?
MfG SideWinder
-
In $_SERVER['HTTP_REFERER'] wird gespeichert, von welcher Seite die Seite kommt, sprich von welcher Seite man auf den Link geklickt hat. Ich würde so machen
<?php function redirect_if_notwenig() { $good_server="www.derrichtigeserver.de"; $good_site="http://www.derrichtigeserver.de/forum"; if (isset($_SERVER['HTTP_REFERER']) and ""==strstr($_SERVER['HTTP_REFERER'], $good_server)) { header("Location: $good_site"); exit; } } ?>
-
Ein Browser muss keinen Referer senden und er kann auch beliebig manipuliert werden... also eine sichere Variante ist es nicht.
-
Hauptsache die Mehrheit der User wird auf die Startseite verlinkt und nicht direkt in das Forum damits so aussieht als wärs seins.
Danke
MfG SideWinder
-
... und wenn deine / eure Adress nicht in der Adress-Leiste steht, wird das Forum wohl in einem Frame geladen - damit dann die Adresse des Forums in der Adress-Leiste stünde, müsstet ihr JavaScript einsetzen (also keine verlässliche Sache).
Was ich mir schon eher vorstellen könnte (allerdings kann man dann das Forum nicht mehr dierkt - z.B. über die Favoriten - aufrufen): Einfach auch der Startseite eine Session erzeugen und eine Session-Var setzen. Im Forum checkst du dann, ob diese Variable bereits gesetzet - wenn nicht, leitest du zur Startseite weiter