/** * checks if login & password are correct and save the user in session. * it redirects the user to the $referer link * @param string $referer the url to redirect after login * @todo add the return value * @return boolean */ public function login($referer) { list($login, $password, $isauthenticated) = $this->credentials(); if ($login === false || $password === false) { $this->messages->add('e', _('login failed: you have to fill all fields')); Tools::logm('login failed'); Tools::redirect(); } if (!empty($login) && !empty($password)) { $user = $this->store->login($login, Tools::encodeString($password . $login), $isauthenticated); if ($user != array()) { # Save login into Session $longlastingsession = isset($_POST['longlastingsession']); $passwordTest = $isauthenticated ? $user['password'] : Tools::encodeString($password . $login); Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user))); # reload l10n $language = $user['config']['language']; @putenv('LC_ALL=' . $language); setlocale(LC_ALL, $language); bindtextdomain($language, LOCALE); textdomain($language); $this->messages->add('s', _('welcome to your wallabag')); Tools::logm('login successful'); Tools::redirect($referer); } $this->messages->add('e', _('login failed: bad login or password')); // log login failure in web server log to allow fail2ban usage error_log('user ' . $login . ' authentication failure'); Tools::logm('login failed'); Tools::redirect(); } }
/** * checks if login & password are correct and save the user in session. * it redirects the user to the $referer link * @param string $referer the url to redirect after login * @todo add the return value * @return boolean */ public function login($referer) { list($login, $password, $isauthenticated) = $this->credentials(); if ($login === false || $password === false) { $this->messages->add('e', _('login failed: you have to fill all fields')); Tools::logm('login failed'); Tools::redirect(); } if (!empty($login) && !empty($password)) { $user = $this->store->login($login, Tools::encodeString($password . $login), $isauthenticated); if ($user != array()) { # Save login into Session $longlastingsession = isset($_POST['longlastingsession']); $passwordTest = $isauthenticated ? $user['password'] : Tools::encodeString($password . $login); Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user))); $this->messages->add('s', _('welcome to your wallabag')); Tools::logm('login successful'); Tools::redirect($referer); } $this->messages->add('e', _('login failed: bad login or password')); Tools::logm('login failed'); Tools::redirect(); } }