Andreas: iframe mit bestimmten Inhalt aus externer Datei ansprechen.

Hallo!

Ich habe in einer Seite ein iframe eingebaut. Nun möchte ich von einer Vorschaltseite auf diese Seite verlinken. Ist es möglich diese Seite zu verlinken und einen bestimmten iframe-Inhalt (sprich a.html, b.html usw.) aufzurufen?

Vielen Dank für eine Antwort,
Andreas

  1. Hallo Andreas!

    Mit php wäre das möglich:
    wenn Du die HTML-Seite frame.php nennst und sie mit frame.php?s=a.html aufrufst und in dieser Seite zum Beispiel <iframe src="<?=$_GET['s']?>"></iframe> einbaust, würde das gehen.
    (ACHTUNG: Unsicheres Beispiel!)

    Aber dazu brauchst Du einen funktionierenden Webserver mit PHP.

    Mit HTML alleine ist das nicht zu machen.

    Mit Javascript könnte es auch noch gehen.

    Gruß,

    Andreas

    1. Mit php wäre das möglich:
      wenn Du die HTML-Seite frame.php nennst und sie mit frame.php?s=a.html aufrufst und in dieser Seite zum Beispiel <iframe src="<?=$_GET['s']?>"></iframe> einbaust, würde das gehen.
      (ACHTUNG: Unsicheres Beispiel!)

      Hallo. Erstmal vielen Dank. PHP ist auch möglich. Was bedeutet dein Hinweis Unsicheres Beispiel?

      Gruß, Andreas (der mit dem alles begann)

      1. Hallo. Erstmal vielen Dank. PHP ist auch möglich. Was bedeutet dein Hinweis Unsicheres Beispiel?

        Dass man damit als "Angreifer" jede beliebige Seite in Deinen iframe laden könnte.
        Wenn du zum Beispiel die neue Sparkassen-Seite programmieren sollst, und eine externe Seite dann mit http://sparkasse.de/frame.php?s=http://boeser-server.de/hackerseite.html  auf die Datei verlinkt, dann könnte er damit allerlei Schinluder treiben.

        Sicher ist es, vorher eine Liste mit erlaubten Inhalten zu erstellen, und diese dann über eine Id anzusprechen.
        Beispiel frame.php:

        <?php
        $allowed_pages=array(1=>"a.html", 2=>"b.html", 3=>"c.html");
        if(in_array($_GET['s'], array_keys($allowed_pages))){
           //alles ok!
           $page=$allowed_pages[$_GET['s']];
        }
        else{
           //ungültige ID, oder keine ID übergeben!
           //Ersatzseite anzeigen, beispielsweise a.html
           $page='a.html';
        }

        ?>
        <html>
        <body>
        <iframe src="<?=$page>"></iframe>
        </body>
        </html>

        Viele Grüße,

        Andreas, der Antworter

        1. Das ist wirklich sehr hilfreich! Vielen Dank und ein schönes Wochenende!
          Andreas