Ergebnis 1 bis 9 von 9

Thema: (PHP) Probleme bei einem Loginscript

  1. #1
    HTML Newbie
    Registriert seit
    17.05.2010
    Alter
    27
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard (PHP) Probleme bei einem Loginscript

    Hi Leute,
    ich hab bereits bei Google gesucht, alles mögliche ausprobiert und sogar hier im Forum gesucht und bin auch fündig geworden. Nun bin ich der Meinung, dass ich keinen Fehler mehr im Script haben sollte, aber irgendwie funktioniert das immer noch nicht!
    Es geht um ein klassisches Loginscript mit PHP,
    ich möchte dass sich der Benutzer einloggen und selbstverständlich wieder ausloggen kann!
    Aber wenn sich der Benutzer einloggt kommt er zwar kurz auf die nächste Seite, wird dann aber vermutlich aufgrund der automatischen Weiterleitung wieder zurück auf die index seite geschmissen.
    Ich hab also irgendwie Probleme mit der $_SESSION variable.
    Vorweg: ich benutze xampplite für einen virtuellen Server, bei dem register_globals Off ist.

    Hier die Codes:
    Für die erste Seite zum einloggen
    PHP-Code:
    <?php
    session_start
    ();
    error_reporting(E_ALL);  
    ?>
    <html>
    <head>
    \\\\css und so (für das eigentliche Problem unwichtig\\\

    </head>
    <?php
      
    include("dbconnect.php");

    if(!isset(
    $_GET['login']))
    {
      
    ?>
    <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="get">
    E-Mail<br><input type="text" name="email" size="15">
    Password<br><input type="password" name="password" size="15 maxsize="8"">
    <br><center><input type="submit" name="login" value="Login!"></center>
    <center><a href="register.php" target="LeftWnd" class="MENU">jetzt registrieren?</a></center>

    <?php

    }elseif(!$_GET['email'] || $_GET['email'] == "") {
        echo 
    'E-Mail-Adresse fehlt!
    <a href="caption.php" class="MENU">Zurück</a>'
    ;
      }elseif(!
    $_GET['password'] || $_GET['password'] == "") {
        echo 
    'Passwort fehlt! <a href="caption.php" class="MENU">Zurück</a>';
      }else{
        
    $password md5($_GET['password']);
        
    $query = @mysql_query("SELECT email, password FROM benutzerkonten WHERE email = '".$_GET['email']."'") or die('Fehler mit der Datenbank! Sollte der Fehler öfter autreten melden Sie sich bitte bei dem Betreiber der Seite!');
        
    $result = @mysql_fetch_array($query) or die('Falsche E-Mail-Adresse!<a href="caption.php" class="MENU">Zurück</a>');
        if(
    md5($_GET['password']) != $result['password']){
          echo 
    'Falsches Password! <a href="caption.php" class="MENU">Zurück</a>';
          die;
        }else{
          
    $_GET['email'] = $result['email'];
          
    $_SESSION['email'] = $_result['email'];
    echo 
    '<script type="text/javascript">
    <!--
    window.location.href = "logedin.php";
    //-->
    </script>'
    ;
        }
     }
      
    ?>
    </body>

    </html>
    die logedin.php beginnt dann mit folgendem Code:
    PHP-Code:
    <?php
    session_start
    ();
    error_reporting(E_ALL);
    if(!isset(
    $_SESSION['email']) || $_SESSION['email'] == "") {
    header("Location: index.htm");
    exit;
    }
    ?>
    Übrigens hab ich alle html-Codes die zur hübscheren Darstellung dienten hier rausgenommen weil der code sonst total lang wäre!

    Kann es evtl. auch an meinem xampplite liegen, dass der die $_SESSION nicht speichert oder fehlt mir da ein Befehl? Ich arbeite das erste mal mit SESSIONs und hatte auch so schon Probleme genug weil ich erst mit session_register() gearbeitet habe und ich erst später gemerkt habe dass das nichtmehr geht.

    Würd mich freuen wenn ihr mir helft, ich bin echt verzweifelt da ich den Fehler nicht finde!
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Pion
    Gast

    Standard AW: (PHP) Probleme bei einem Loginscript

    XSS/MYSQLINJECTION gefahr
    Ansonsten überprüfe doch mal zb mit "die" ob den Session da sind oder keine
    Was soll den die JS Weiterleitung ?

  3. #3
    Bandit
    Gast

    Standard AW: (PHP) Probleme bei einem Loginscript

    Und bitte kein Passwort per GET weiterreichen!

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  4. #4
    HTML Newbie
    Themenstarter

    Registriert seit
    17.05.2010
    Alter
    27
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: (PHP) Probleme bei einem Loginscript

    Gut die Antworten haben mir nicht sehr geholfen! ;P Den Fehler hab ich jetzt gefunden!
    PHP-Code:
      <?php
    if(!isset($_SESSION['email']) || $_SESSION['email'] == "") {
    header("Location: index.htm");
    exit;
    }
    ?>
    hat im grunde ja ausgesagt, dass wenn die $_SESSION gesetzt ist, er wieder zurück auf die index seite kommt! Und das sollte ja eben nicht passieren! wie kann ich denn jetzt ändern dass wenn $_SESSION nicht gesetzt ist er dann an die index.htm weiterleitet?

    Und jetzt habe ich noch zwei weitere fragen:
    Zum einen: Warum sollte man Passwörter nicht mit GET weiterreichen und was sollte ich stattdessen benutzen?
    Und wie kann ich das ganze jetzt sicherer machen? Immerhin hies es ja "XSS/MYSQLINJECTION gefahr".

  5. #5
    Meister(in) Avatar von goldeneye
    Registriert seit
    07.06.2008
    Ort
    Oberfranken
    Alter
    24
    Beiträge
    312
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: (PHP) Probleme bei einem Loginscript

    hat im grunde ja ausgesagt, dass wenn die $_SESSION gesetzt ist, er wieder zurück auf die index seite kommt!
    Falsch. Genau das Gegenteil

    wie kann ich denn jetzt ändern dass wenn $_SESSION nicht gesetzt ist er dann an die index.htm weiterleitet?
    Genau das macht dein Quellcode Da liegt der Fehler wohl woanders begraben.
    Passwörter sollte man nie über GET übertragen, da diese so in der URL klar angezeigt werden. Hierfür sollte man POST verwendet.
    Schau dir einfach mal das PHP-Tutorial auf Quakenet an. Das ist für den Anfang gut.

  6. #6
    HTML Newbie
    Themenstarter

    Registriert seit
    17.05.2010
    Alter
    27
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: (PHP) Probleme bei einem Loginscript

    ich wusste wohl dass es den befehlt POST gibt und ähnlich ist wie GET aber wusste nicht worin sie sich unterscheiden, wieder was gelernt vielen dank!

    irgendwie peil ich mein fehler jetzt doch nicht mehr, ich dachte, wenn ich isset davor stehen habe prüft er ob $_SESSION nicht null ist und eine variable exisitiert (laut php.net). wenn sich jetzt also auf der ersten seite jemand einloggt, sollte doch eine variable erstellt werden und die ist nicht null, somit ist ist dann isset true und es soll weiter gehen? Oo

    bitte klärt mich auf denn ich liege offensichtlich komplett falsch O.o

    edit: ich hab das ausrufezeichen garnicht beachtet entschuldigung ich probiers jetzt nochmal aus
    Geändert von snK (17.05.2010 um 20:31 Uhr) Grund: kein doppelpost

  7. #7
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: (PHP) Probleme bei einem Loginscript

    http://www.phpbuddy.eu/ hier findeste nen paar ideen und nen sicheren login
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  8. #8
    Bandit
    Gast

    Standard AW: (PHP) Probleme bei einem Loginscript

    Zitat Zitat von snK Beitrag anzeigen
    Zum einen: Warum sollte man Passwörter nicht mit GET weiterreichen und was sollte ich stattdessen benutzen?
    POST nehmen, dann steht das Passwort nicht mehr in der URL
    Zitat Zitat von snK Beitrag anzeigen
    Und wie kann ich das ganze jetzt sicherer machen? Immerhin hies es ja "XSS/MYSQLINJECTION gefahr".
    $_SERVER["PHP_SELF"] und xss bei google eingeben. Und mysql_real_escape_string in der PHP-Doku

  9. #9
    HTML Newbie
    Themenstarter

    Registriert seit
    17.05.2010
    Alter
    27
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: (PHP) Probleme bei einem Loginscript

    wunderbar, es klappt nun alles, vielen dank! und auch danke für die hilfe zum thema sicherheit!

    gruß

Ähnliche Themen

  1. Probleme mit einem loginscript
    Von Justin35 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 20.07.2008, 14:12
  2. probleme mit einem bestellformular
    Von sechssaiter im Forum HTML & CSS Forum
    Antworten: 18
    Letzter Beitrag: 28.01.2007, 19:32
  3. Probleme mit einem fertigen Shop
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 02.02.2006, 01:11
  4. Probleme Mit einem gehostetem Forum!!!
    Von Marcel im Forum HTML & CSS Forum
    Antworten: 37
    Letzter Beitrag: 20.04.2005, 23:09
  5. Probleme bei einem Headscript
    Von im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 21.11.2004, 21:58

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •