Probleme mit Site include

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Site include

    Hallo,

    ich habe ein Problem mit meinem PHP-Code.

    Ich wollte eigentlich das einzelne PHP-Seiten, in meiner Seite an einer bestimmten Stelle mit eingefügt werden.

    So dass z.B. durch öffnen von index.php?site=test2 die Hauptseite bestehen bleibt und nur in der index.php an einer gewissen Stelle der Inhalt der test2.php geöffnet wird.

    Ich habe dazu eigentlich immer folgenden Code verwendet:
    PHP Code:
          <!-- php site include -->
          <?
          
          if(!isset($site)){
              $site="test";
          }
          
          if(!file_exists($site.".php")){
               $site = "test";
          }
          
          include($site.".php");
          
          ?>
          <!-- end php site include -->
    Das Problem dabei ist, die Seite test.php fügt er ein, aber beim klicken auf einen link der index.php?site=test2 geöffnet werden soll, zeigt er den link zwar im Browser oben an, aber die Seite bleibt bei test.php geöffnet.

    Woran kann das liegen?

    Schon einmal im voraus vielen Dank für die Unterstützung.

    Grüße

    web-freak22

  • #2
    Woher soll die Variable $site herkommen? Das ist in deinem Code nicht ersichtlich.

    Davon abgesehen baust du da eine schöne Sicherheitslücke, weil man so jede beliebige PHP-Datei am Server ausführen kann. Auch solche, die nicht öffentlich zugänglich sind. Du solltest mit einer Whitelist arbeiten.

    Comment


    • #3
      ich dachte die Site erhält er durch den link, also index.php?site=test2

      -> test2.php

      wie funktioniert das mit der White-Liste? Habe das bisher noch nicht gehört oder gesehen.

      Danke schon mal für die Antwort.

      Comment


      • #4
        Originally posted by web-freak22 View Post
        ich dachte die Site erhält er durch den link, also index.php?site=test2
        Nein. Den Wert findest du in $_GET['site'].

        Originally posted by web-freak22 View Post
        wie funktioniert das mit der White-Liste? Habe das bisher noch nicht gehört oder gesehen.
        PHP Code:
        $siteWhitelist = array('home''foo''bar''baz');

        if (isset(
        $_GET['site']) && in_array($_GET['site'], $siteWhitelisttrue)) {
            
        $site $_GET['site'];
        } else {
            
        $site 'home';

        Comment


        • #5
          genial, endlich funktioniert es :-)

          Vielen vielen Dank :-)

          Comment

          Working...