tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1028
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Ken89
    Ken89 Ken89 ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Beiträge
    58
    Hallo Zusammen,

    ich möchte ein gerne das im Tutorial verwendete Login Script (http://www.tutorials.de/forum/php-tu...-sessions.html) gerne auf meiner "index.php" einbinden.

    Problem hierbei scheint mir ncoh zu sein, dass ich mit sogenannten "sections" arbeite die ich per include als content in meine index.php hineinlade.

    Bsp.:

    PHP-Code:
    <?php
    if (!empty($_GET['section']))
            {
            include(
    basename($_GET['section']).'.php');
            } 
        
        if(empty(
    $_GET['section']))
        {
        include(
    'start.php');
        
            } 
        
        
    ?>
    Habe schon einiges versucht, aber zum einbinden des Scriptes, allerdings erhalte ich die Fehlermeldung:
    Code :
    1
    
    Warning: Cannot modify header information - headers already sent ....
    wenn ich das Login Formular einfach per "include" einbinde --> was ja auch Logisch ist, da ich zuvor andere Informationen wie bsp. die Navigation auf meiner Seite ausgebe !!

    Dennoch würde ich gerne das Login Formular dauerhaft auf der "index.php" einbinden, bei erfolgreichem login, soll eine neue (nur für Member) sichtbare content Page erscheinen.

    Könnt ihr mit bitte weiterhelfen

    schon mal vielen dank
     
    Gruß Ken ;)

  2. #2
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Hi

    du könntest die Funktionen ob_start() und ob_flush() verwenden.
    PHP-Code:
    ob_start();
    echo 
    "some text";
    session_start();
    ob_flush(); 
    Ein kleiner Tipp noch für dein Snipplet: Du kannst ruhig else benutzen
    PHP-Code:
    if (!empty($_GET['section'])){
      include(
    basename($_GET['section']).'.php');
    }     
    else{
      include(
    'start.php');  

    ?> 
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  3. #3
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    Dir ist hoffentlich klar, dass man so sehr leicht schadhaften Code einbinden kann?

    Du solltest beim Include eine Whitelist verwenden. Dh. per switch das $_GET['section'] mit vordefinierten Strings/Zahlen vergleichen und dann die entsprechende Datei einbinden. Default wird dann aufgerufen, falls $_GET abweicht.

    PHP-Code:
    switch($_GET['section']) {
        case 
    'start':
            include 
    "content/index.php";
            break;
        case 
    'blub':
            include 
    "content/andereDatei.php";
            break;
        default:
            include 
    "content/wichtigeseite.php";
            break;

     
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  4. #4
    Avatar von Ken89
    Ken89 Ken89 ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Beiträge
    58
    vielen Dank für den Hinweis und die Tipps, allerdings hat sich dadurch meine Frage nicht beantwortet ..

    ... könntet ihr mir bitte in beispiel oder ein Link nennen wo ich die Thematik nachlesen kann

    wäre euch sehr dankbar
     
    Gruß Ken ;)

  5. #5
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Zitat Zitat von CookieBuster Beitrag anzeigen
    Dir ist hoffentlich klar, dass man so sehr leicht schadhaften Code einbinden kann?

    Du solltest beim Include eine Whitelist verwenden. Dh. per switch das $_GET['section'] mit vordefinierten Strings/Zahlen vergleichen und dann die entsprechende Datei einbinden. Default wird dann aufgerufen, falls $_GET abweicht.

    PHP-Code:
    switch($_GET['section']) {
        case 
    'start':
            include 
    "content/index.php";
            break;
        case 
    'blub':
            include 
    "content/andereDatei.php";
            break;
        default:
            include 
    "content/wichtigeseite.php";
            break;

    Könnte man nicht einfach:

    PHP-Code:
    require($FileForInclude); 
    benutzen?
     

  6. #6
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    ist die selbe unsicherheit
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  7. #7
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Zitat Zitat von bl5000 Beitrag anzeigen
    Könnte man nicht einfach:

    PHP-Code:
    require($FileForInclude); 
    benutzen?
    Wenn du den Post aufmerksam gelesen hättest, wäre dir aufgefallen, dass es um die SICHERHEIT geht, nicht darum, das Script anzuhalten wenn eine Datei nicht existiert. Das ist nämlich der einzige Unterschied zwischen include und require. Ohne eine Sicherheitsabfrage, wovon uns CookieBuster ein Beispiel gegeben hat, könnte man ziemlich einfach deine Website manipulieren.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 01.02.08, 19:53
  2. Antworten: 6
    Letzter Beitrag: 24.01.07, 11:32
  3. Login Script von dieser Seite
    Von Ping Of Dead im Forum PHP
    Antworten: 15
    Letzter Beitrag: 01.05.05, 19:13
  4. Seite wie index einbinden?
    Von progfxler im Forum PHP
    Antworten: 3
    Letzter Beitrag: 02.11.02, 13:12
  5. Login-Script in Seite einbauen
    Von Sebastian Wramba im Forum PHP
    Antworten: 20
    Letzter Beitrag: 05.11.01, 18:08

Stichworte