ilch Forum » Ilch Clan 1.1 » Allgemein » Fehlloginprotokoll klappt nicht

Geschlossen
  1. #1
    User Pic
    Xiaolong Mitglied
    Registriert seit
    08.03.2008
    Beiträge
    2
    Beitragswertungen
    0 Beitragspunkte
    Hallo

    hab hier ein Problem. Und zwar will ich ein Protokoll für falsche Loginversuche erstellen. Schön und gut. Also den zugehörigen part habe ich in der "User.php" in include/includes/func gefunden. Dort ist der Abschnitt:

    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if ($row['pass'] == $pw) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          setcookie($cn, $row['id'].'='.$row['pass'], time() + 31104000, "/" );
          return (true);
        }
      }


    Da wird ja das Passwort verglichen. Nun habe ich zwischen die 2 letzten Klammern das Teil reingepackt, was mir den Eintrag in die Logdatei schreibt. Das sieht dann so aus:

    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if ($row['pass'] == $pw) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          setcookie($cn, $row['id'].'='.$row['pass'], time() + 31104000, "/" );
          return (true);
        }
    	else { 
    	  $zeit=date("d.m.y-H:i:s");
    	  $ip=$_SERVER['REMOTE_ADDR'];
    	  $datei=fopen("log.txt","a");
    	  rewind($datei);
    	  fwrite($datei,$zeit." | ".$ip." | ".$_POST['name']." | ".$_POST['pass']."\n");
    fclose($datei);
    	  }
      }


    Aber, wenn ein Fehllogin da ist, wird der Teil einfach "überlesen". Das heisst es passiert nichts. Ich dachte erstmal es liegt daran, dass die log.txt nicht von alleine erstellt wird. Also habe ich eine log.txt in dem Ordner include/includes/func und eine im Hauptverzeichniss erstellt. Bei bleiben aber nach einem fehlerhaftem Loginversuch leer. Das Script ist zu Hause auf xampp installiert und ich benutze Windows, also kann es nicht an Dateirechten liegen. Jemand von euch eine Idee??

    Gruß Xiaolong


    verwendete ilchClan Version: 1.1

    Ahja, es taucht keine Fehlermeldung oder so auf.


    Zuletzt modifiziert von Xiaolong am 08.03.2008 - 15:32:59
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die log.txt müsste theoretisch dort liegen wo die index.php ist, da dort alles "anfängt" bzw. das ausführende/aufgerufene Skript liegt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Xiaolong Mitglied
    Registriert seit
    08.03.2008
    Beiträge
    2
    Beitragswertungen
    0 Beitragspunkte
    Naja, also ich hab da eine log.txt, aber die bleibt immer leer. Und ich weiss nicht warum...

    So warum auch immer, das Script funktioniert nachdem ich den Server neu gestartet habe.

    Kann geschlossen werden. Danke.


    Zuletzt modifiziert von Xiaolong am 08.03.2008 - 22:32:04
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten