Added logging of faulty login attempts, fixes #1321

Signed-off-by: Roman Schmerold (BNoiZe) <bnoize@froxlor.org>
This commit is contained in:
Roman Schmerold (BNoiZe)
2013-12-14 10:28:33 +01:00
parent 296b8b36ab
commit 36b6b6b857
5 changed files with 35 additions and 5 deletions

View File

@@ -78,19 +78,22 @@ if ($page == 'log'
$_action = $lng['admin']['customer'];
break;
case RES_ACTION:
$_action = 'Reseller';
$_action = $lng['logger']['reseller'];
break;
case ADM_ACTION:
$_action = 'Administrator';
$_action = $lng['logger']['admin'];
break;
case CRON_ACTION:
$_action = 'Cronjob';
$_action = $lng['logger']['cron'];
break;
case LOGIN_ACTION:
$_action = $lng['logger']['login'];
break;
case LOG_ERROR:
$_action = 'Internal';
$_action = $lng['logger']['intern'];
break;
default:
$_action = 'Unknown';
$_action = $lng['logger']['unknown'];
break;
}

View File

@@ -100,6 +100,10 @@ if ($action == 'login') {
$uid = 'adminid';
$adminsession = '1';
} else {
// Log failed login
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => $_SERVER['REMOTE_ADDR']), $settings);
$rstlog->logAction(LOGIN_ACTION, LOG_WARNING, "Unknown user '" . $loginname . "' tried to login.");
redirectTo('index.php', Array('showmessage' => '2'), true);
exit;
}
@@ -131,6 +135,11 @@ if ($action == 'login') {
WHERE `$uid`= :uid"
);
Database::pexecute($stmt, array("lastlogin_fail" => time(), "uid" => $userinfo[$uid]));
// Log failed login
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => $_SERVER['REMOTE_ADDR']), $settings);
$rstlog->logAction(LOGIN_ACTION, LOG_WARNING, "User '" . $loginname . "' tried to login with wrong password.");
unset($userinfo);
redirectTo('index.php', Array('showmessage' => '2'), true);
exit;

View File

@@ -25,5 +25,7 @@ if(!defined('ADM_ACTION'))
define('ADM_ACTION', '30');
if(!defined('CRON_ACTION'))
define('CRON_ACTION', '40');
if(!defined('LOGIN_ACTION'))
define('LOGIN_ACTION', '50');
if(!defined('LOG_ERROR'))
define('LOG_ERROR', '99');

View File

@@ -1779,3 +1779,11 @@ $lng['admin']['templates']['SERVER_IP'] = 'Replaces the default server ip-addres
$lng['admin']['templates']['SERVER_PORT'] = 'Replaces the default server port';
$lng['admin']['templates']['DOMAINNAME'] = 'Replaces the customers standard-subdomain (can be empty if none is generated)';
$lng['admin']['show_news_feed'] = 'Show news-feed on admin-dashboard';
// Added in Froxlor 0.9.32
$lng['logger']['reseller'] = "Reseller";
$lng['logger']['admin'] = "Administrator";
$lng['logger']['cron'] = "Cronjob";
$lng['logger']['login'] = "Login";
$lng['logger']['intern'] = "Internal";
$lng['logger']['unknown'] = "Unknown";

View File

@@ -1505,3 +1505,11 @@ $lng['admin']['templates']['SERVER_IP'] = 'Wird mit der standard System IP-Adres
$lng['admin']['templates']['SERVER_PORT'] = 'Wird mit dem standard Port ersetzt';
$lng['admin']['templates']['DOMAINNAME'] = 'Wird mit der Standardsubdomain des Kunden ersetzt (kann leer sein, wenn keine erstellt werden soll)';
$lng['admin']['show_news_feed'] = 'Zeige News-Feed im Admin-Dashboard';
// Added in Froxlor 0.9.32
$lng['logger']['reseller'] = "Reseller";
$lng['logger']['admin'] = "Administrator";
$lng['logger']['cron'] = "Cronjob";
$lng['logger']['login'] = "Login";
$lng['logger']['intern'] = "Intern";
$lng['logger']['unknown'] = "Unbekannt";