ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Fehler User.php

Geschlossen
  1. #1
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Hallo zusammen
    Erstmal kurze Vorstellung. Bin Peter, bin 23 und komm nähe Münster. Betreiben wollte ich in nächste zeit die Seite World-Of-Fragger.
    Eure Software sieht auf dem ersten blick echt hammer aus. Leider konnte ich es noch nicht testen.

    Eigentlich wurde alles sauber installiert aber nach der installation kommt das, wenn ich ins index gehe:

    Parse error: syntax error, unexpected '{' in /www/gelöscht/test/include/includes/func/user.php on line 258

    Gruß
    Peter


    Zuletzt modifiziert von IceFraser am 07.05.2011 - 18:03:18
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    in der include/func/user.php scheint eine Klammer zu fehlen, schau es dir mal an wenn du nix findest poste die Datei hier ins Forum.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Klar, warum hab ich das nicht gleich gemacht. Danke dir.
    Schau mir das direkt morgen an.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Mhhh funzt nicht, kommen nur weiter fehlermeldungen. Ich weiß ja eh nicht wo die Klammer dann hin muss.

    <?php
    
    # hier werden alle user spezifischen funktionen
    # definert...
    
    function user_identification () {
      user_auth();
      user_login_check();
      user_update_database();
      user_check_url_rewrite();
    }
    
    function user_auth () {
      debug ('user - auth gestartet'. session_id());
      $cn = session_und_cookie_name();
      if (!user_key_in_db()
       OR !isset($_SESSION['authid'])
       OR (isset($_SESSION['authsess']) AND $_SESSION['authsess'] != $cn)) {
    
        debug ('user - nicht in db oder nicht authid');
    
        user_set_guest_vars();
        user_set_user_online ();
    
        # wenn cn cookie vorhanden
        # dann checken ob er sich damit einloggen darf
        if (isset($_COOKIE[$cn])) {
          user_auto_login_check();
        }
    
        # gruppen, und modulzugehoerigkeit setzten
        user_set_grps_and_modules();
      }
    }
    
    function user_check_url_rewrite() {
      global $allgAr;
      if ( !loggedin() AND $allgAr['show_session_id'] == 0 ) {
        # loescht die sessionid von allen urls
        # auch urls wie formulare usw. damit
        # suchmaschienen bots nicht iritiert sind ;)
        # output_reset_rewrite_vars ist eine php funktion
        # nicht unnoetig dannach suchen ;) ...
        output_reset_rewrite_vars ();
      }
    }
    
    function user_update_database () {
      $dif = date('Y-m-d H:i:s', time() - 7200);
      db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
      db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
      if ( loggedin() ) {
        db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
      }
    }
    
    function user_set_user_online () {
      global $allgAr;
      if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        db_query("INSERT INTO prefix_online (sid,uptime,ipa) VALUES ('".session_id()."',now(),'".getip()."')");
      }
      $_SESSION['authgfx'] = $allgAr['gfx'];
    }
    
    function user_key_in_db() {
      if ( 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        return ( true );
      } else {
        return ( false );
      }
    }
    
    function session_und_cookie_name () {
      return (md5(dirname($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).DBPREF));
    }
    
    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['name']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $name = escape_nickname($_POST['name']);
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 15) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE name = BINARY '".$name."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if ( $row['pass'] == md5($_POST['pass']) ) {
            debug ('passwort stimmt ... '.$row['name']);
            $_SESSION['authname']  = $row['name'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            setcookie($_SESSION['authsess'], $row['id'].'='.$row['pass'] , time() + 31104000, "/" );
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'user');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
    
    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);
        }
      }
    
      user_logout ();
      return (false);
    }
    
    function user_set_guest_vars() {
      $_SESSION['authname']  = 'Gast';
      $_SESSION['authid']    = 0;
      $_SESSION['authright'] = 0;
      $_SESSION['lastlogin'] = time();
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_SESSION['authsess']  = session_und_cookie_name();
    }
    
    function user_markallasread () {
      $_SESSION['lastlogin'] = time();
    }
    
    function user_logout () {
      #global $allgAr;
      #$_SESSION = array();
      #$_SESSION['authgfx'] = $allgAr['gfx'];
      user_set_guest_vars();
      db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
      setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #if (isset($_COOKIE[session_name()])) {
      #  setcookie(session_name(), '', time()-99999999999931104000, '/');
      #}
      #setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #session_destroy();
    }
    
    function user_set_grps_and_modules () {
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      if ( loggedin() ) {
        $erg = db_query("SELECT gid FROM prefix_groupusers WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authgrp'][$row['gid']] = TRUE;
        }
        $erg = db_query("SELECT DISTINCT url
        FROM prefix_modulerights
        left join prefix_modules on prefix_modules.id = prefix_modulerights.mid
        WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authmod'][$row['url']] = TRUE;
        }
      }
    }
    
    function loggedin () {
      if ( has_right(-1) ) { return ( true ); } else { return ( false ); }
    }
    function is_admin () {
      if ( has_right(-9) ) { return ( true ); } else { return ( false ); }
    }
    function is_coadmin () {
      if ( has_right(-8) ) { return ( true ); } else { return ( false ); }
    }
    function is_siteadmin ($m = NULL) {
      if ( has_right(-7) ) { return ( true ); }
      if ( !is_null($m) AND has_right(NULL, $m)) { return (true); }
      return ( false );
    }
    
    # diese funktion liefert immer true wenn es ein admin ist.
    # wenn kein kein admin wird geprueft ob der user
    # entweder ein angegebenes recht oder in einer angegebene
    # gruppe ist. oder ob er fals angegben das modulrecht hat.
    # wenn eines von diesen 3 kriterien stimmt wird true ansonsten
    # wenn keins uebereinstimmt false zurueck gegeben.
    function has_right ($recht,$modul = '') {
      if ( !is_array($recht) AND !is_null($recht) ) {
        $recht = array ( $recht );
      }
    
      if ( $_SESSION['authright'] == -9 ) {
        return ( true );
      }
    
      if ( !is_null($recht) ) {
        foreach ( $recht as $v ) {
          if ( ($v <= 0 AND $v >= $_SESSION['authright'] ) OR (isset($_SESSION['authgrp'][$v]) AND $_SESSION['authgrp'][$v] === true) ) {
            return (true);
          }
        }
      }
    
      if ( !empty($modul) AND isset($_SESSION['authmod'][$modul]) AND $_SESSION['authmod'][$modul] === true ) {
        return ( true );
      }
    
      return (false);
    }
    
    ### admin
    # wenn der 2. parameter weggelassen wird oder auf true gesetzt wird
    # dann wird ein login formular angezeigt, wenn der user kein admin ist.
    # wird der parameter auf false gesetzt wird das login formular nicht angezeigt.
    # erste parameter ist das menu objekt...
    function user_has_admin_right (&$menu,$sl=true) {
      if ( $_SESSION['authright'] <= -8 ) {  # co leader...
        return ( true );
      } else {
        $uri_to_check1 = $menu->get(0);
        $uri_to_check2 = $menu->get(1);
    	  if ( count($_SESSION['authmod']) < 1 OR !loggedin() ) {
    		  if ( $sl === true ) {
            if ( !loggedin() ) {
              $tpl = new tpl ( 'user/login.htm' );
        	    $tpl->set_out('WDLINK','admin.php',0);
            } else {
              echo '<strong>Keine Berechtigung!</strong> <a href="index.php">Startseite</a>';
            }
          }
    		  return ( false );
        } elseif ( (isset($_SESSION['authmod'][$uri_to_check1]) AND $_SESSION['authmod'][$uri_to_check1] == true)
                  OR (isset($_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2]) AND $_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2] == true) ) {
          return ( true );
       	} elseif ( count($_SESSION['authmod']) > 0 AND loggedin() ) {
          if ( $sl === true ) {
            foreach($_SESSION['authmod'] as $k => $v ) { $x = $k; break; }
            $x = explode('-',$x);
            $menu->set_url (0, $x[0]);
      õôóif ( isset($x[1]) ) { 6666666666666666666666666666666666666666666666666666666666666666666666666666
     ò     µÃ$menu->set_url (1, $x[1]);
            }
          }
          return ( true );
        }
      }
      return ( false );
    }
    
    function user_regist ($name, $mail, $pass) {
      global $allgAr, $lang;
    
      $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");
      if (db_num_rows($erg) > 0) {
        return (false);
      }
    
      if ( $allgAr['forum_regist_user_pass'] == 0 ) {
    		$new_pass = genkey(8);
      } else {
    	  $new_pass = $pass;
    	}
    
      $md5_pass = md5($new_pass);
    	$confirmlinktext = '';
    
    	# confirm insert in confirm tb not confirm insert in user tb
    	if ( $allgAr['forum_regist_confirm_link'] == 1 ) {
    		# confirm link + text ... bit of shit put it in languages file
    	  $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
    		$id = md5 (uniqid (rand()));
    		$confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );
    		db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,datime,ak)
    		VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."',NOW(),1)");
      } else {
    	  db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm)
    		VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1)");
    		$userid = db_last_id();
    	}
      $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);
    
    	icmail($mail,'Anmeldung',$regmail); # email an user
    
      return (true);
    }
    
    function user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
    
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      if (is_array($eid)) {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) ".
      	"SELECT  ".$sid.",`prefix_user`.`id`,'".time()."','".$ti."','".$te."',".$status." FROM `prefix_user` WHERE `prefix_user`.`id` IN (" . implode(',', $eid) . ")");
      } else {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
      }
    }
    ?>
    
    
    Zuletzt modifiziert von IceFraser am 07.05.2011 - 15:58:12



    Zuletzt modifiziert von IceFraser am 07.05.2011 - 15:58:31
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Fonsi1 Mitglied
    Registriert seit
    01.05.2010
    Beiträge
    455
    Beitragswertungen
    35 Beitragspunkte
    Lösche mal zeile 258 bis 259
    und füge das ein
     if ( isset($x[1]) ) {
              $menu->set_url (1, $x[1]);


    Bei dir sieht es so aus
    #
    õôóif ( isset($x[1]) ) { 6666666666666666666666666666666666666666666666666666666666666666666666666666
    #
     ò     µÃ$menu->set_url (1, $x[1]);
    ??
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Nein leider gehts nicht. Dann kommt direkt in irgendein neuen Datei ein Fehler. Hab jetzt mal alles gelöscht weil es in einem Unterordner(test) lag und nochmal neu installiert. Dieses mal direkt den include Ornder im Hauptordner gelegt. Unter Hostname kommt doch einfach localhost, oder nicht?
    Aber an der Datenbank kann das ja nicht liegen, oder?

    So alles neu gemacht und nun das:

    Parse error: syntax error, unexpected T_STRING in /www/gelöscht/include/includes/class/design.php on line 83


    traurig


    Zuletzt modifiziert von IceFraser am 07.05.2011 - 18:02:33
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Treicio gelöschter User
    Wenn du nichts geaendert hast muss es irgendwie an dir oder dein hoster liegen
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Versteh ich jetzt mal garnicht. Mein Hoster ist allinkl. Dort auch ein Premium Packet. Also irgendwas fehlen kann da nicht. Ich werd mal ein forum istallieren, mal schauen ob es da auch zickt.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Fonsi1 Mitglied
    Registriert seit
    01.05.2010
    Beiträge
    455
    Beitragswertungen
    35 Beitragspunkte
    Link zur HP??
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Ok, habs geschaft

    Also, es lag wohl an diesen Zeichen hier õÃ. Diese haben sich auch nach einer Neuinstallation eingeschlichen. Musste ich dann halt 2 mal löschen und dann gings.

    Allerdings kam darauf hin ein fehler mit der Datenbank. Dann hab ich mal die config.php gecheckt und musste mich doch sehr wundern. Dort waren kein neuangaben drinen. Alles stand mit Benutzername, Passwort usw... Wunderlich, daa ich diese in der Installation doch eingegeben habe.
    Hab dann die Daten nachgetragen und jetzt leufts. Auch Registrieren usw...

    Nugut, alles super aber eines stört mich. Wenn der Server schon irgendwelche Zeichen setzt, die da nix zu tuhen haben, könnten dann noch Probleme bei Updates usw... kommen? Wie sieht es mit der Config aus. Dürfen die Daten so einfach drin stehen?

    Ansonsten danke für eure Hilfe.
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Aber schon komisch das da fehler kommen..bei der installation, hattest du es von hier geladen? Wenn lad es mal neu und installiere es noch mal. Weil normal ist das nicht das es da zu fehlern kommt. Welche version hasten geladen gehabt von ilch cms?

    Weil wenn bei diesen ilch cms schon bei dein hoster scheitert, ist dein hoster zu scheitern verurteilt ^^ wobei allinkl eigendlich recht gut ist.

    In der Config ist normal, dient ja dazu das deine webseite auch sich mit der datenbank verbinden soll, Ohne datenbank geht ja nichts.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    IceFraser Mitglied
    Registriert seit
    06.05.2011
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    Also, gestern wurde dann noch eben mein Server gehackt oder zumindest die Index und einige andere Daten von dem Programm hier. Ich konnte keine Seite mehr erreichen. Der ist es:

    Baiduspider+(+externer Link

    Zwar soll der nur iframes in die Daten schreiben aber in wieviele er es tut, will ich nicht wissen. Da ich es gerade installaiert hatte, lösch ich es lieber komplett, als alle Seiten nach den iframes zu durchsuchen. Denke aber nicht das ein Bug in euer Programm ist.

    Also ich werd es ja gleich sehen. Ich glaub das ein Trojaner, Virus oder sonst was die Daten von dem Programm manupuliert hat oder beim hochladen angegriffen hat. Hab mein Pc formatiert und nochmal 2 Virenscanner rüber laufen gelassen. Server komplett gelöscht.

    Lieber nen 2 Kasten für die Pornos kaufen lachen

    So, jetzt funzt es sauber. Jetzt konnte ich es richtig installieren ohne Fehler. lächeln


    Zuletzt modifiziert von IceFraser am 09.05.2011 - 01:10:13
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    htdocs Mitglied
    Registriert seit
    29.04.2010
    Beiträge
    492
    Beitragswertungen
    17 Beitragspunkte
    Na dann ist doch supper wenn es jetzt klappt..

    -----------------------------------------------
    Wo ich mich jedes mal fragen stellen, es sind immer sehr viele die schreiben das sie gehackt wurden und und ob bei ilch, oder andere cms, da denke ich eher da sind eigende fehler im spiel, soll jetzt nicht heisen das es bei dir auch so ist. Meine nur mal weil das echt häufig ist wo ich das lese.

    Ich kenne recht viele die ihre seite schon ewig haben, ob klein oder groß, aber probleme das die gehackt wurden noch nie.

    Weil was soll zum beispiel ein hacker mit einer frisch erstellten ilch seite anfangen? die man innerhalb von sikunden installieren kann. Bringt rein garnichts zwinker
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten