hande: umleitung wenn SID nicht registriert ?

g. morgen,

folgendes

auf verschiedenen Seiten einer website wird der inhalt aus der datenbank generiert.
nun möchte ich vermeiden, daß der user die url direkt aufrufen kann,
(www.something/daten.php) weil so die nötigen variablen nicht zu verfügung stehen (www.something/daten.php?var=$var&var_2=$var_2....)
und somit der spezielle DB-Inhalt nicht angezeigt wird

also hab ich mir gedacht daß ich abfrage/umleite (auf den relevanten seiten):

session_start($ID);

if ($ID == ""){
Header ('Location:index.php');
}

auf der index.php
führe ich ein session_register($ID) aus

funktioniert zwar, bin aber nicht sicher ob das eine gute vorgehensweise ist,
oder wie würde man es  üblicherweise machen ??
(register_globals = on)

danke für einen tip
hande

  1. Tach auch,

    session_start($ID);

    if ($ID == ""){
    Header ('Location:index.php');
    }

    1. header("LOCATION: http://deine.domain.de/");
    Meines Wissens nach darf man nicht nur die index.php hinschreiben.

    führe ich ein session_register($ID) aus

    Würd ich nicht machen. Bei globals auf on kann der User doch www.deine.dom.de/?id=xhdkeifk eintippen und schon ist der drin...

    funktioniert zwar, bin aber nicht sicher ob das eine gute vorgehensweise ist,

    Nein.

    (register_globals = on)

    Ist unsicher.

    Besser: Speicher auf deiner Startseite eine Var in das Array $_SESSION ab:
    Bsp:
    index.php:

    session_start();
    if(!isset($_SESSION["richtig_gestartet"]) || $_SESSION["richtig_gestartet"]=="" || $_SESSION["richtig_gestartet"]=="nein")$_SESSION["richtig_gestartet"]="ja";

    ##Hier der inhalt....

    Deine Unterseiten:

    session_start();
    if(!isset($_SESSION["richtig_gestartet"]) || $_SESSION["richtig_gestartet"]=="" || $_SESSION["richtig_gestartet"]=="nein")
    {
    $_SESSION["richtig_gestartet"]="nein";
    header("Location: http://www.deine_domain.de");
    exit;//Nix mehr hier machen!!!
    }
    else
    {
    print "Dieser User kam über meine Startseite";
    }

    Greets Tom1tk

  2. Moin!

    auf verschiedenen Seiten einer website wird der inhalt aus der datenbank generiert.
    nun möchte ich vermeiden, daß der user die url direkt aufrufen kann,
    (www.something/daten.php) weil so die nötigen variablen nicht zu verfügung stehen (www.something/daten.php?var=$var&var_2=$var_2....)
    und somit der spezielle DB-Inhalt nicht angezeigt wird

    Warum dann so kompliziert gedacht?

    Prüfe einfach, ob alle notwendigen Variablen übergeben wurden, und wenn nicht, gibst du einen Redirect aus.

    Dazu brauchst du keinerlei Session (das von dir angedachte Verfahren sieht mir außerdem arg falsch und veraltet aus).

    - Sven Rautenberg

    --
    Among the maxims on Lord Naoshige's wall, there was this one: "Matters of great concern should be treated lightly."
    Master Ittei commented, "Matters of small concern should be treated seriously."
    (Hagakure: The Way of the Samurai)