if loaded in iframe ??

  • Hallo zusammen,


    mir stellt sich grade die Frage, ob es irgendwie möglich ist, mittels PHP (oder anderer Technik), zu überprüfen, ob meine .php Seite in einem iFrame geladen wurde?


    In einem aktuellen Projekt möchte ich die "Contact Form" in einem iFrame Popup laden, funktioniert auch ganz gut, aber man hat natürlich immer noch die Möglichkeit, die Contact-Seite (sprich "contact.php") direkt in den Browser einzugeben, was ich aber aus vielen Gründen (Anti-Spam, Optimierung, etc..) gerne verhinden will...


    Wie gesagt, eine Lösung mittels PHP wäre mir glaube ich am liebsten, bin aber offen für andere Vorschläge. Geplant ist, dass bei Eingabe direkt im Browser, eine Umleitung auf die Hauptseite veranlasst wird, gibt es da vielleicht ein paar Tricks?


    Schöne Grüße!

  • Hey,


    Prüfe dazu doch einfach ob die Seite erreichbar ist, weil wenn dein Script nocht noch irgendwas mit der Seite macht, gibt es ja nicht viel was das includieren verhindern könnte ;D


    Hoffe es hilft.


    Kanu

  • Hier mal ein Beispiel, dieser Code gehört in die Datei welche in dem iFrame geladen wird:



    Wenn die Datei nicht in einem iFrame auf der Seite index.php geladen wurde, so wird der Besucher zur index.php weitergeleitet.


    Achtung: Du darfst nun auf deiner index.php auf keinen Fall auf die andere Datei verlinken, denn auch dann wird der Referer gesetzt, des Weiteren musst du den strpos Befehl erweitern, sonst kann ich auf meinem Desktop eine index.php erstellen und von dieser auf dein Formular verlinken, also erweiterst du das Ganze um den Servernamen:


    PHP
    strpos($_SERVER['SERVER_NAME'] ."/". $_SERVER['HTTP_REFERER'],  
             'www.meine-seite.de/index.php');


    Da musst du ein bisschen herumprobieren ob du noch ein / einfügen musst und vor allem wie viel du prüfen darfst, vielleicht enthält dein Referer in dem Fall gar kein www. vor dem meine-seite.de


    Hoffe ich konnte helfen, ansonsten frag ruhig nach.


    Achtung²: Dieser Weg hält niemanden auf der ein bisschen Ahnung von der Materie hat, wenn ich wirklich auf deine Datei mit dem Kontaktformular zugreifen möchte schaffe ich das auch, Scriptkiddies und verirrte Benutzer hältst du so aber fern.


    Achtung³: Da ich etwas unter Zeitdruck stehe kann es sein das ich kleine Fehler gemacht habe, aber das Prinzip sollte klar sein und du kannst einfach mal rumprobieren.

  • Danke für die Antworten...


    Also zusammengefasst, es macht wenig Sinn da sowas in der Art einzubauen, da man trotzdem irgendwie noch darauf zugreifen kann?


    Wie wäre es da mit einer .htaccess Umleitung, sobald <!-- w --><a class="postlink" href="http://www.webseite.de/contact.php">http://www.webseite.de/contact.php</a><!-- w --> eingegeben wird? Oder funktioniert dann auch nicht mehr der iFrame? Habs noch nicht getestet...


    Intressant ist auch der HTTP_REFERER "index.php" im Beispiel, hab natürlich - wie sollte es anders sein? - den "Contact" Link im Footer eingebaut :D ... theoretisch ist das mit dem Referer dann nix, oder?


    Aber wie schon geschrieben, die Frage ist eher ob es überhaupt Sinn macht, bzw eine sinnvolle Variante gibt, den direkten Zugriff einfach nur zu unterbinden, vor allem aus dem Grund da es optisch nicht sehr schön aussieht und ich natürlich auch nicht will dass Suchmaschinen die Seite irgendwie auflisten, bzw User diese in anderen Foren oder Communities direkt verlinken...


    War nur so eine Idee, daher bitte kein Kopfzerbrechen, hab auch kompliziertere Fragen wenn gewünscht ;)

  • Suchmaschinen kannst du verbieten bestimmte Seiten aufzunehmen:


    HTML
    <meta name="robots" content="noindex">


    Und schon wird keine Suchmaschine diese Seite aufnehmen.


    Das deine Datei optisch nicht so schön ist wenn man sie direkt aufruft ist doch erst dein Problem wenn du direkt auf die Seite verlinkst? Wenn jemand einfach darauf geht indem er die URL (o.Ä.) hat er doch selber Schuld.

  • Hab grade das hier noch gefunden zu dem Thema, kann jemand beurteilen ob es Sinn macht?



    Sollte in die Datei eingefügt werden, welche im Popup geladen wird, um zu verhinden, dass auch jemand den direkten Link zur Datei benutzt... macht es Sinn?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!