Seite wurde aufgerufen von welcer URL?

PowerCheat

Erfahrenes Mitglied
Hallo,
ich wollte gerne mal wissen wo mit ich mir anzeigen lassen kann von wo meine Seite aufgerufen wurde.

weil ich möchte nicht das man bestimmte seiten direkt anklicken kann sondern nur über eine vorseite.

und dafür brauche ich jetzt eine überprüfung von wo der User kommt.

währe nett wenn ihr mir die variable nennen könnt den rest mache ich selber danke!
 
Natürlich, das hätte ich noch erwähnen müssen. Es ist nicht selbstverständlich, dass die Benutzeranwendung den HTTP-Header mitsendet. Ich glaube im Opera kann man dies ohne große Umstände einstellen.
 
Evtl. liesse sich das ueber Sessions oder Cookies loesen, bin aber nicht ganz sicher, da ich mich damit nicht auskenn. Ist nur so 'ne Idee.
 
PowerCheat hat gesagt.:
gibt es auch nemöglichkleit, das man auch wenn das nicht mit gesendet wurde, zu pfüfen ob er von der vorseite kommt?
Nein, wenn dir der Client diese Information nicht mitliefert, dann steht diese Information auch nicht zur Verfügung. Logisch, oder?
Du hast die Möglichkeit, auf der Vorseite eine Session zu setzen, die du dann abfragen kannst. Das geht natürlich nur, wenn die Vorseite auch zu deinen Seiten auf deinem Server gehört.
 
Hi!

Mir scheint, du benötigst etwas mehr praktischere Hilfe, als das, was hier gepostet wurde.
Also mal ein kleines Script (ungetestet - soll nur die funktionalität erklären):

PHP:
<html>
<head>
<title>Titel</title>
<body>
<?php
//session starten
session_start ();

//Eine ID erzeugen, die diese Seite als Vorläufer identifiziert
$_SESSION['seiten_id'] = 'vorseite';

// link ausgeben
echo 'a href="/naechsteseite.php?' . $PHPSESSID . '=' . $_SESSION['ID'];
?>
</body>
</html>

naechsteseite.php:

PHP:
<html>
<head>
<title>Titel</title>
<body>
<?php
//session starten
session_start ();

if ( !isset ( $_SESSION['seiten_id'] ) || $_SESSION['seiten_id'] != 'vorseite' )
    die ( 'Die Seite wurde nicht von der Vorseite geladen' );

echo 'Seiteninhalt';
?>
</body>
</html>

Natürlich wäre es auch möglich die Seite einfach in der URI zu übergeben.
Beispiel:

HTML:
<a href="naechsteseite.php?seite=vorseite">n&auml;chste Seite</a>

Allerdings ließe sich die URI auch von Hand vom Benuzter eingeben, was wohl kaum Sinn der Sache ist.

Ich hoffe, ich konnte dir etwas weiter helfen.
 
Zurück