Ankündigung

Einklappen
Keine Ankündigung bisher.

ein login-system, basierend auf MySQL und sessions

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Klabautermann
    antwortet
    Die Fehlermeldung müsste
    Warning: Cannot modify header information - headers already sent by (output started at *Deine Datei.php*:10) in *Deine Datei.php on line 34

    Es darf also kein echo vor dem header Befehl stehen.

    Einen Kommentar schreiben:


  • mike-loewe
    antwortet
    Zitat von Montellese Beitrag anzeigen
    Es steht doch schon in dem von dir zitierten Teil, was an
    PHP-Code:
    header('login.htm'); 
    falsch ist, es muss nämlich
    PHP-Code:
    header('Location: login.htm'); 
    heissen!
    Danke für die schnelle Antwort.
    Leider bleibt auch mit deinem Vorschlag die Seite beim "echo" stehen

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    Es steht doch schon in dem von dir zitierten Teil, was an
    PHP-Code:
    header('login.htm'); 
    falsch ist, es muss nämlich
    PHP-Code:
    header('Location: login.htm'); 
    heissen!

    Einen Kommentar schreiben:


  • mike-loewe
    antwortet
    Zitat von Ambience Beitrag anzeigen
    Hast aber einen Fehler drinne...

    Bei: val_login.php

    da steht:

    PHP-Code:
    header('login.html'); 
    gehören tut es aber:

    PHP-Code:
    header('location: login.html'); 
    Und bei: logout.php

    würde ich aus:

    PHP-Code:
    <?php
    session_start
    ();
     
    //die sessions auf FALSE setzen
    $_SESSION['logged'] = FALSE;
    $_SESSION['u_name'] = FALSE
    das hier machen, sprich die sessions löschen:

    PHP-Code:
    <?php
    session_start
    ();
     
    session_destroy();
    Also ich hab sowohl als auch probiert......weder das eine noch das andere geht! Kann mir jemand sagen wie es wirklich geht?

    Das hab ich......es wir lediglich das "sie konnten als benutzer identifiziert werden" angezeigt.....es geht aber nicht weiter????

    Ich meine es müsste login.htm aufgerufen werden

    Das hab ich!?

    PHP-Code:
    else
    {
    //eine session "logged" auf TRUE setzen
    //eine session mit dem usernamen erstellen
    $_SESSION['logged'] = TRUE;
    $_SESSION['nic_name'] = $_POST['pw_user'];
    //auf die geschützte datei weiterleiten
    echo 'sie konnten als benutzer identifiziert werden';
    header('login.htm');
    exit();
    }

    Einen Kommentar schreiben:


  • TeazY
    antwortet
    Hi leute,

    ich hab das script versucht in etwas abgeänderter form in mein cms-script einzubauen, jedoch ergibt das bei immer einen fehler wegen dem header. Ich weiss nur leider nicht wie ich den beheben kann. (Ja, ich weiss das vor dem header keine ausgabe erzeugt sein darf).

    Ich hab das ganze so aufgebaut: das ganze login zeugs wird per index.php?section=login aufgerufen. die cfg`s sind schon in der index.php includet. die login.html und die check_login hier aus dem script habe ich in eine datei zusammengefasst (login.php).

    Die header informationen zum weiterleiten auf die inter.php habe ich so stehen lassen wie hier im script. Doch da ja erst die index.php aufgerufen wird habe ich natürlich auch ausgaben drinne. Jetzt dachte cih mri ich definiere den header in der index.php als aller erstes. Doch wie genau soll ich das machen? Also wie realisiere ich, das der header der login.php fehlerfrei funktioniert in meiner version?

    P.S.: Wenn cih einfach die dateien erstelle wie sie hier im script sind und das login-script unabhängig von meinem cms als standalone nehme funktioniert alles. Es geht also nur um die implementierung in mein script woebi sich eben der oben genannte header fehler ergibt.

    Der vollständigkeit halber hier noch die fehlermeldung:
    Code:
    Warning: Cannot modify header information - headers already sent by (output started at /home/www/web37/html/tnkstuff/tnkcms/index.php:111) in /home/www/web37/html/tnkstuff/tnkcms/login/login_check.php on line 46

    Einen Kommentar schreiben:


  • elzumo
    antwortet
    Sagt mir einfach nicht zu, halte ich nicht viel von, besonders wenn es dann irgendwann Richtung Datenbank geht. Ich will auch nicht, dass überall meine IP zu finden ist.

    Zum Thema:
    wirspeichernnicht.de - Start

    Einen Kommentar schreiben:


  • David
    antwortet
    Was is'n an einer "Klartext-IP" so schlimm?

    Einen Kommentar schreiben:


  • elzumo
    antwortet
    Was meiner Meinung aus Sichet der Sicherheit noch Sinn macht, ist dass man die IP-Adresse, oder zumindest einen Hash von dieser mit in der Session speichert und diese dann in geschützten Bereichen mit der aktuellen IP-Adresse vergleicht.

    Dazu müsste in der Datei check_login.php folgendes hinzugefügt werden:
    PHP-Code:
    $_SESSION['IP'] = $_SERVER['REMOTE_ADDR']; 
    Am besten in Zeile 43.

    Die Datei val_login.php müsste dann auch angepasst werden und zwar müsste die Zeile 3 wie folgt angepasst werden:
    PHP-Code:
    if(($_SESSION['logged'] == FALSE) || ($_SESSION['IP'] != $_SERVER['REMOTE_ADDR'])) 
    Hoffe hab jetzt auf die Schnelle alles richtig gemacht.

    Gruß: elzumo

    Edit:
    Um mit Hashes zu arbeiten müssten die Codeänderungen wie folgt aussehen:
    PHP-Code:
    $_SESSION['IP'] = md5($_SERVER['REMOTE_ADDR']); 
    und
    PHP-Code:
    if(($_SESSION['logged'] == FALSE) || ($_SESSION['IP'] != md5($_SERVER['REMOTE_ADDR']))) 
    Meiner Meinung nach die Bessere Variante, da ich nicht viel von IP-Adressen im Klartext halte, zumindest dort nicht, wo es nicht notwendig ist.

    Einen Kommentar schreiben:


  • mike-loewe
    antwortet
    Zitat von David Beitrag anzeigen
    Code:
    SELECT
      feld1, feld2, feld3
    FROM
      tabellenname
    Du schreibst aber den Tabellennamen schon dahin, wo die Feldnamen hingehören.
    Werd es probieren........DANKE

    Frohes Fest und nen guten Rutsch!

    Einen Kommentar schreiben:


  • David
    antwortet
    Code:
    SELECT
      feld1, feld2, feld3
    FROM
      tabellenname
    Du schreibst aber den Tabellennamen schon dahin, wo die Feldnamen hingehören.

    Einen Kommentar schreiben:


  • mike-loewe
    antwortet
    Zitat von David Beitrag anzeigen
    und warum schreibst Du dann?
    Sorry, vielleicht stelle ich mich ja jetzt wirklich doof an , als Anfänger!?
    Muß ich nicht die Datenbank zuordnen USRENAME/PW usw., und dann die Tabellen ansprechen?

    Einen Kommentar schreiben:


  • David
    antwortet
    und warum schreibst Du dann
    Zitat von mike-loewe
    SELECT user_mse
    ?

    Einen Kommentar schreiben:


  • mike-loewe
    antwortet
    Zitat von David Beitrag anzeigen
    Deine Tabelle hat kein Feld user_mse.
    Meine Tabelle heißt user_mse!?!?!?

    Einen Kommentar schreiben:


  • David
    antwortet
    Deine Tabelle hat kein Feld user_mse.

    Einen Kommentar schreiben:


  • mike-loewe
    antwortet
    Zitat von Papst Beitrag anzeigen
    [/color]

    du musst das Passwort vorher md5 "hashen"

    Sorry, steh wohl gerade neben mir.....Wie vorher "hashen"?

    Einen Kommentar schreiben:

Lädt...
X