03.08.07, 11:36:28
Neomis
Moin zusammen,
nach der Installation von o. g. Hack bekommen ich folgenden Fehler beim Ein- oder Auslog-Versuch:
[QUOTE]Parse error: syntax error, unexpected T_DEFAULT in /srv/www/htdocs/web517/html/forum1/login.php on line 133[/QUOTE]
Hier der Quellcode der Login.php:
[CODE]get('login').'";');
#
#
### Login
} elseif (!empty($_POST['Name']) && empty($_GET['action'])) {
// MD5
$Pass = md5(gpc_stripslashes($_POST['Pass']));
$Daten_LoginError['count'] = '0';
$result = $_db->query('SELECT u.`id`, u.name, u.`pass`, u.`email`, u.`last_action`, u.`stay_login`, u.`session`, SUM(g_val.`value`) AS `login`
FROM `'.$_cfg['DB_PREFIX'].'user` AS u
LEFT JOIN `'.$_cfg['DB_PREFIX'].'group_value` AS g_val ON (u.`group_id` = g_val.`group_id` AND g_val.`board_id` = 0),
`'.$_cfg['DB_PREFIX'].'group_var` AS g_var
WHERE u.`name` LIKE \''.gpc_addslashes($_POST['Name']).'\'
AND g_val.`var_id` = g_var.`id`
AND g_var.`name` = \'login\'
GROUP BY u.`id`');
$Daten = $_db->fetch_array($result);
switch ($_db->num_rows($result)) {
### Benutzer gefunden (name)
case 1:
$result_login_error = $_db->query('SELECT `count`, `third_date`, `code`
FROM `'.$_cfg['DB_PREFIX'].'login_error`
WHERE `user_id` = '.$Daten['id'].'');
$Daten_LoginError = $_db->fetch_array($result_login_error);
if(($Daten_LoginError['count'] >= '2') AND (!is_numeric($Daten_LoginError['code']))) {
// Reaktivierungscode
$code = rand(100000000, 999999999);
// eMail Versenden
mail("$Daten[email]",
"$_config[TITEL_KURZ] - Fehllogins",
"Hallo $Daten[name]\n\nDurch drei gescheiterte Loginversuche auf $_config[TITEL_KURZ] mit Ihrem Benuzternamen wurde Ihr Account für 30 Minuten gesperrt.\nWenn Sie diese Zeit nicht abwarten wollen, können sie mit diesem Link Ihren Account frühzeitig wieder aktivieren:\n$_cfg[SITE]/login_timeout_reactivate.php?id=$Daten[id]&code=$code\n\nGruss,\nIhr $_config[TITEL_KURZ] Board Team",
"From: $_cfg[TECH_ADMIN]");
$_db->query('UPDATE `'.$_cfg['DB_PREFIX'].'login_error`
SET `count` = `count` + 1,
`third_date` = '.PMF_TIME.',
`code` = "'.$code.'"
WHERE `user_id` = '.$Daten['id'].'');
msg('error_login_timeout', 'back()');
break;
} elseif(($Daten_LoginError['count'] >= '2') AND (is_numeric($Daten_LoginError['code']))) {
$_db->query('UPDATE `'.$_cfg['DB_PREFIX'].'login_error`
SET `count` = `count` + 1
WHERE `user_id` = '.$Daten['id'].'');
if($Daten_LoginError['third_date'] > '0' AND $Daten_LoginError['third_date'] + 1800 <= PMF_TIME) {
$_db->query('DELETE FROM `'.$_cfg['DB_PREFIX'].'login_error` WHERE `user_id` = '.$Daten['id'].'');
$Daten_LoginError['count'] = '0';
} else {
msg('error_login_timeout', 'back()');
}
}
if ($Daten_LoginError['count'] < '2') {
# Login !!!
if ($Daten['login'] > 0 && $Daten['pass'] == $Pass) {
// Login-Error resetten
if(isset($Daten_LoginError['count'])) {
$_db->query('DELETE FROM `'.$_cfg['DB_PREFIX'].'login_error` WHERE `user_id` = '.$Daten['id'].'');
// Cookie
if (!empty($Daten['stay_login'])) {
cookie('pmfUserId', $Daten['id']);
cookie('pmfPass', $Pass);
// Session-Cookie
} elseif (!empty($Daten['session'])) {
cookie('pmfSess', $_sess['id'], 0);
// Session
} else {
session_register('USER');
session_register('PASS');
$_SESSION['USER'] = $Daten['id'];
$_SESSION['PASS'] = $Pass;
}
// letztes Login
$_db->u_query('UPDATE `'.$_cfg['DB_PREFIX'].'user`
SET `last_login` = `last_action`
WHERE `id` = '.$Daten['id']);
// alte Session löschen
$_db->query('DELETE FROM `'.$_cfg['DB_PREFIX'].'session`
WHERE `sess` = \''.addslashes($_sess['id']).'\'
AND `user_id` = 0');
// Session Speichern
$_db->query('REPLACE INTO `'.$_cfg['DB_PREFIX'].'session` (`sess`,`ip`,`user_id`,`last_action`,`site`,`browser`)
VALUES (\''.addslashes($_sess['id']).'\',\''.addslashes($_SERVER['REMOTE_ADDR']).'\','.intval($Daten['id']).','.PMF_TIME.',\''.addslashes( str_replace($_sess['url'], '', basename($_SERVER['REQUEST_URI']))).'\',\''.addslashes($_SERVER['HTTP_USER_AGENT']).'\')');
// Benutzer Daten
$_user = get_user_info($Daten['id']);
// weiterleitung
msg('error_login', (!empty($_POST['goto']) ? urldecode($_POST['goto']) : 'index.php?'.$_sess['url']));
break;
# Passwort Falsch !!!
} elseif ($Daten['login'] > 0 && $Daten['pass'] != $Pass) {
// loggen
if(mysql_num_rows($_db->query('SELECT `user_id`
FROM `'.$_cfg['DB_PREFIX'].'login_error`
WHERE `user_id` = '.$Daten['id'].'')
) > '0') {
$_db->query('UPDATE `'.$_cfg['DB_PREFIX'].'login_error`
SET `count` = `count` + 1,
`code` = "no"
WHERE `user_id` = '.$Daten['id'].'');
} else {
$_db->query('INSERT INTO `'.$_cfg['DB_PREFIX'].'login_error` (`user_id`, `count`, `code`) VALUES ('.$Daten['id'].', "1", "no")');
}
msg('error_login_fault', 'back()');
break;
msg('error_login_fault', 'back()');
break;
# Benutzer gesperrt !!!
} elseif (empty($Daten['login'])) {
msg('error_login_del', 'back()');
break;
}
}
### Benutzer nicht gefunden
default:
msg('error_login_fault', 'back()');
break;
}
#
#
### Logout !!!
} elseif ($_GET['action'] == 'logout') {
# Session löschen
$_db->query('DELETE FROM `'.$_cfg['DB_PREFIX'].'session`
WHERE `user_id` = '.intval($_user['id']));
session_destroy();
unset($_SESSION);
// Cookie löschen
cookie('pmfUserId', '');
cookie('pmfPass', '');
cookie('pmfSess', '');
cookie('pmfHidden', '');
cookie('pmfTopics', '');
cookie('pmfacpnav', '');
// weiterleitung ?
$goto = !empty($_GET['goto']) ? gpc_stripslashes($_GET['goto']) : 'index.php?'.$_sess['url'];
msg('error_logout', $goto);
}
footer();
?>[/CODE]
Cachefiles etc. hab ich schon gelöscht -> keine Änderung.
Hat jemand ne Idee wo der Fehler liegen könnte. Bin die Installationsanleitung schon mehrfach Schritt für Schritt durchgegangen, aber ich komm nicht dahinter.
03.08.07, 12:00:52
pip
da ist etwas mit den klammern falsch.
zeile 71: fehlt das schließen der klammer. // Cookie rutscht dann eine zeile nach unten...
die klammer in zeile 133 ist glaub ich zuviel
03.08.07, 12:20:12
Neomis
:yes: Die fehlende Klammer wars.
Danke schön. :D