Seitendirektaufruf verhindern



  • Hi,
    Mal ne ganz dumme Frage:
    Kann man (ohne .htaccess) einen direkten Seitenaufruf verhindern?
    Also folgendes:
    Ich habe eine Seite im div-Bereich einer anderen Seite. Diese Seite(im div-Breiche) soll nur in dem div-Bereich angezeigt werden, aber sie soll nicht direkt aufgerufen werden können. (also z.B. per URL)
    Ein LogIn oder so ist nicht nötig um die Seite zu sehen.

    Danke



  • Servus,

    das ist ein oftgenanntes Problem, besonders wenn es um Inlineframes geht. Es gibt da schon diverse Lösungen mit Cookies etc. Man kann es aber auch ganz leicht per GET-Parametern mit PHP lösen. In die Seite, die im DIV-Container angezeigt wird, fügst du ganz am Anfang der Datei folgenden Code ein (die Datei muss aber die Endung .php haben!)

    <?php
      if ($_GET ['pro'] != "1")
      {
        exit ();
      }
    ?>
    

    Wenn du den DIV-Container erstellst, und darin die vorhin genannte PHP Datei lädst, gibst du ihren ganz normalen Pfad ein, und hängst am Ende des Pfads die GET-Variablen an. Beispiel:
    ..//MeineDatei.php?pro=1

    Wenn pro nähmlich ungleich 1 ist, wird die Seite erst garnicht geladen. Um doppelten Schutz zu garantieren, könntest du in der Seite, die den DIV-Container beinhaltet bei Seitenaufruf eine globale Variable setzen, und dann im PHP Script der DIV-Seite diese Variable prüfen.



  • Besser als nur ein exit() bei fehlendem Parameter wäre allerdings oft noch ein No-Cache-Befehl und eine Weiterleitung auf die übergeordnete Seite in die HTTP-Response zu schreiben 😉


Anmelden zum Antworten