Exemplo n.º 1
0
<?php

force_login();
if (!empty($_POST) && user_load_authenticate(user()->name, $_POST['old_pass'])) {
    // Account löschen
    if (isset($_POST['del_account'])) {
        if (!isset($_POST['del_confirm'])) {
            status_message("Bitte wähle die Checkbox zur Bestätigung aus!");
            gotop("index.php?q=acc");
        } else {
            $database->exec('DELETE FROM user_data WHERE user_id = ' . user()->id);
            $database->exec('DELETE FROM user_feeds WHERE user_id = ' . user()->id);
            $database->exec('DELETE FROM users WHERE id = ' . user()->id);
            $database->exec('DELETE FROM user_autologin WHERE user_id = ' . user()->id);
            session_destroy();
            session_start();
            setcookie('autologin', '', time() - 3600, dirname($_SERVER['REQUEST_URI']) == '/' ? '/' : dirname($_SERVER['REQUEST_URI']) . '/', null, false, true);
            status_message("Dein Account wurde gelöscht.");
            gotop("index.php");
        }
    }
    // Passwort ändern
    if (isset($_POST['change_pw']) && (user()->flags & USER_FLAG_IS_LDAP_ACCOUNT) == 0 || !$ldap_server) {
        if (!trim($_POST['new_pass_1'])) {
            status_message("Bitte gib ein neues Kennwort ein, das nicht nur aus Whitespace besteht!");
            gotop("index.php?q=acc");
        }
        if ($_POST['new_pass_1'] != $_POST['new_pass_2']) {
            status_message("Die neuen Kennwörter stimmen nicht überein.");
            gotop("index.php?q=acc");
        } else {
Exemplo n.º 2
0
                 $salt = base_convert(rand(0, 36 * 36 - 1), 10, 36);
                 $passSha = sha1($salt . $pass);
                 $user->pass = $passSha;
                 $user->salt = $salt;
             }
             user_save();
             status_message('Dein Benutzer wurde angelegt. Willkommen beim Übungszetteldienst!');
             // Kein Autologin beim ersten Anmelden
             $_SESSION['logged_in'] = true;
             $_SESSION['login'] = $user;
             gotop('index.php');
         }
     }
     if ($_POST['action'] == 'Anmelden') {
         // Benutzer einloggen
         $user = user_load_authenticate($name, $pass);
         if (!$user) {
             $errPass = '******';
         } else {
             // Autologin-Cookie anlegen
             $autologin = sha1($user->salt . $secure_token . time() . $user->id . $_SERVER['REMOTE_ADDR']);
             $token = sha1($autologin . '-' . microtime() . '-' . rand());
             $database->query("INSERT INTO user_autologin (id, token, user_id) VALUES('" . $autologin . "',\n\t\t\t\t\t'" . $token . "', " . $user->id . ');');
             setcookie('autologin', $autologin . '-' . $token, time() + 15552000, dirname($_SERVER['REQUEST_URI']) == '/' ? '/' : dirname($_SERVER['REQUEST_URI']) . '/', null, false, true);
             // User ist nun eingeloggt. Zur Übersicht.
             $_SESSION['logged_in'] = true;
             $_SESSION['login'] = $user;
             gotop('index.php');
         }
     }
 }