public function onLogin($doValidate = true) { require_once GWF_CORE_PATH . 'module/Login/GWF_LoginFailure.php'; $isAjax = isset($_GET['ajax']); $form = $this->getForm(); if ($doValidate) { if (false !== ($errors = $form->validate($this->module, $isAjax))) { if ($isAjax) { return $errors; } else { return $errors . $this->form(); } } } $username = Common::getPostString('username'); $password = Common::getPostString('password'); $users = GDO::table('GWF_User'); if (false === ($user = $users->selectFirstObject('*', sprintf('user_name=\'%s\' AND user_options&%d=0', $users->escape($username), GWF_User::DELETED)))) { if ($isAjax) { return $this->module->error('err_login'); } else { return $this->module->error('err_login') . $this->form(); } } elseif (true !== ($error = $this->checkBruteforce($user, $isAjax))) { if ($isAjax) { return $error; } else { return $error . $this->form(); } } elseif (false === GWF_Hook::call(GWF_HOOK::LOGIN_PRE, $user, array($password, ''))) { return ''; #GWF_HTML::err('ERR_GENERAL', array( __FILE__, __LINE__)); } elseif (false === GWF_Password::checkPasswordS($password, $user->getVar('user_password'))) { if ($isAjax) { return $this->onLoginFailed($user, $isAjax); } else { return $this->onLoginFailed($user, $isAjax) . $this->form(); } } GWF_Password::clearMemory('password'); return $this->onLoggedIn($user, $isAjax); }
$user = Dog::getUser(); $plugin = Dog::getPlugin(); $argv = $plugin->argv(); $argc = count($argv); $plen = $plugin->getConf('passlen'); if ($argc === 0) { $plugin->showHelp(); } elseif ($argc === 1) { if ($user->isRegistered()) { return $plugin->rply('already'); } elseif (strlen($argv[0]) < $plen) { $plugin->rply('pasweak', array($plen)); } else { $user->saveVar('user_pass', GWF_Password::hashPasswordS($plugin->argv(0))); // Dog_ModuleGWF::executeHook('register', $user); $user->setLoggedIn(); return $plugin->rply('success'); } } elseif ($argc === 2) { if (!GWF_Password::checkPasswordS($argv[0], $user->getPass())) { return $plugin->rply('failed'); } elseif (strlen($argv[1]) < $plen) { $plugin->rply('pasweak', array($plen)); } else { $user->saveVar('user_pass', GWF_Password::hashPasswordS($argv[1])); $user->setLoggedIn(); return $plugin->rply('changed'); } } else { $plugin->showHelp(); }
public function validate_check_pass(Module_Admin $module, $arg) { return GWF_Password::checkPasswordS($arg, $this->module->cfgSuperHash()) ? false : $this->module->lang('err_check_pass'); }
private function onLogin(IWebSocketConnection $user, $message) { $data = explode(' ', $message); if (count($data) !== 3) { return false; } $ename = GDO::escape($data[1]); $table = GDO::table('Dog_User'); if (false === ($dog_user = $table->selectFirstObject('*', "user_name='{$ename}'"))) { $this->sendToUser($user->getId(), 'XLIN2,Unknown username!'); return false; } if (false === GWF_Password::checkPasswordS($data[2], $dog_user->getVar('user_pass'))) { $this->sendToUser($user->getId(), 'XLIN3,Wrong password!'); return false; } $this->sendToUser($user->getId(), 'XLIN1'); $this->users[$user->getId()] = $dog_user; $this->addToQueue($user, $dog_user, 'PRIVMSG Dog :.login ' . $data[2]); return true; }