Refer-Check

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Refer-Check

    Hi Leute,

    ich habe in einem Projekt eine Funktion zum Zurückseten von Einstellungen eingebaut. Diese besteht aus zwei Dateien. Der Datei "reset.php" und "reset_do.php". In reset.php wird nur gefragt, ob man sicher ist, dass alles zurückgesetzt wird und in reset_do.php wird dann alles zurückgesetzt.

    Nun möchte ich aber in reset_do.php prüfen, ob zuvor die Datei "reset.php" aufgerufen wurde, damit man nicht aus Versehen aus dem Verlauf die Adresse http://www.seite.de/reset_do.php ausführt und alles gelöscht ist.

    Habe schon einen PHP Code zum Bekommen des Dateinamens, von dem man kommt:

    PHP-Code:
    // Referrer
    $refer getenv("HTTP_REFERER");


    // aus $refer wird NUR der Dateiname ausgegeben
    $url_info parse_url($refer);
    $pfad $url_info[path];
    $array_refer explode("/",$pfad);
    $filename end($array_refer); 
    Da gibt es aber noch ein Problem. In meinem Projekt wird die Seite, die gerade angewählt wurde in die Datei "index.php" includet. Also wenn man "Downloads" anwählt, sieht die URL so aus: http://www.seite.de/index.php?page=downloads.

    Wenn ich nun den Code oben ausführe, bekomme ich aber nur "index.php" angezeigt. Und das kann natürlich jede Seite sein, weil ja jede andere Seite auch in der index.php drinnen ist.

    Hat nun jemand eine Lösung für mich, wie ich an das "index.php?page=downloads" rankommen könnte?

    Tnx 4 Help,
    Lukas

  • #2
    hiho

    du kannst auch an die ganze url rankommen, allerdings wuerde ich net den referrer zur ueberpruefung benutzen ...

    weil wenn jemand eine firewall an haat, kann es gut sien, dass der referer geblockt wird ..



    benutze leiber sessions ..
    auf der ersten seite setzt du ne variable
    PHP-Code:
    $_SESSION["variable"]= "ACTIVE"
    und auf der naechsten seite ueberpreufst du
    ob diese variable gesetzt ist

    if($_SESSION["variable"] == "ACTIVE")
    {
    // ausfuehren udn danach die variable per unset oder
    // aehnlichem auf null setzen
    }
    else
    {
    echo "scheinbar keine zugriffsberechtigung";
    }
    [/php]

    diese methode finde ich besser...
    musst halt nur auf der ersten seite eine session starten , oder wenn
    das schon ist nur den wert in die session schrieben ...

    gruss
    iglo

    Kommentar


    • #3
      Gute Idee, kapitaeniglo!

      Vielen Dank! Funzt alles,
      Greetz Lukas

      Kommentar


      • #4
        no problemo ...

        hatte das problem selbst mal ...
        und da kam mir dir idee das ganze ueber sessions zu handeln ...
        vor allem, da mein skript mit dem referrer bei allen ausser mir funzt ...
        bis ich die firewall ausgestellt hatte ...


        greetz
        iglo

        Kommentar

        Lädt...
        X