Exemplo n.º 1
0
 if (isset($_POST['question']) && $_POST['question'] == "10") {
     $email = db_escape(purify(trim(Charset::Utf8ToDB($_POST['email']))));
     $creds = LoginUtils::HashToCredentials(db_escape($_POST['hash']));
     $username = db_escape(purify(trim(Charset::Utf8ToDB($creds['username']))));
     $password = db_escape(purify(trim(Charset::Utf8ToDB($creds['password']))));
     // Username libero?
     if (!DB::FindOne("SELECT 1 FROM users WHERE user = \"{$username}\"")) {
         // Legacy: Un timestamp sarebbe stato meglio, ma non dobbiamo fare nulla con questo dato, quindi va bene cosi'
         $data = date("d/m/Y G:i");
         $description = "Normal User";
         $md5 = LoginUtils::Md5FromCredentials($username, $password);
         // Tutto a posto
         exequery(sprintf('INSERT INTO users (user, mail, ip, os_browser, date, description, permission, verified, md5, last_login_timestamp, last_login_ip, newsletter)
               VALUES ("%s", "%s", "%s", "%s", "%s", "%s", %s, %s, "%s", %s, "%s", %s)', $username, $email, get_ip(), db_escape(purify($_SERVER["HTTP_USER_AGENT"])), $data, $description, User::PERMISSION_USER, 1, $md5, time(), get_ip(), 1));
         // Logga l'utente
         $currentUser = UserFactory::CreateFromCredentials($username, $password);
         if ($currentUser->isLogged()) {
             $response->setSuccess(true);
             // Logga
             Log::Info(sprintf("%s si e' registrato", $currentUser['username']));
             $_SESSION['login_hash'] = $currentUser['md5'];
             setcookie('login_hash', $currentUser['md5'], time() + 60 * 60 * 24 * 7, '/');
         } else {
             // Questo non dovrebbe succedere
             $response->setError("E' successo un imprevisto durante la registrazione. Per favore segnala questo incidente ad un amministratore.");
         }
     } else {
         $response->setError("L'username e' stato gia' preso. Scegline un'altro.");
     }
 } else {
     $response->setError("Captcha non valido.");
Exemplo n.º 2
0
 public static function CreateFromLoginHash($hash)
 {
     $creds = LoginUtils::HashToCredentials($hash);
     //et voila! user e pass pronti all'uso
     return UserFactory::CreateFromCredentials($creds['username'], $creds['password']);
 }