示例#1
0
文件: login.php 项目: port22/mail
 */
$rel_path = '../';
define('POSTFIXADMIN_LOGOUT', 1);
require_once "../common.php";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    $lang = safepost('lang');
    $fUsername = trim(safepost('fUsername'));
    $fPassword = safepost('fPassword');
    if ($lang != check_language(0)) {
        # only set cookie if language selection was changed
        setcookie('lang', $lang, time() + 60 * 60 * 24 * 30);
        # language cookie, lifetime 30 days
        # (language preference cookie is processed even if username and/or password are invalid)
    }
    $h = new MailboxHandler();
    if ($h->login($fUsername, $fPassword)) {
        session_regenerate_id();
        $_SESSION['sessid'] = array();
        $_SESSION['sessid']['roles'] = array();
        $_SESSION['sessid']['roles'][] = 'user';
        $_SESSION['sessid']['username'] = $fUsername;
        $_SESSION['PFA_token'] = md5(uniqid(rand(), true));
        header("Location: main.php");
        exit;
    } else {
        error_log("PostfixAdmin login failed (username: {$fUsername})");
        flash_error($PALANG['pLogin_failed']);
    }
}
$smarty->assign('language_selector', language_selector(), false);
$smarty->assign('smarty_template', 'login');
示例#2
0
 /**
  * @param string $username
  * @param string $password
  * @return boolean true if successful.
  */
 public function login($username, $password)
 {
     $uh = new MailboxHandler();
     # $_SESSION['sessid']['username']);
     return $uh->login($username, $password);
 }
示例#3
0
 if (isset($_POST['fCancel'])) {
     header("Location: main.php");
     exit(0);
 }
 $fPassword_current = $_POST['fPassword_current'];
 $fPassword = $_POST['fPassword'];
 $fPassword2 = $_POST['fPassword2'];
 $error = 0;
 $validpass = validate_password($fPassword);
 if (count($validpass) > 0) {
     flash_error($validpass[0]);
     # TODO: honor all error messages, not only the first one
     $error += 1;
 }
 $mh = new MailboxHandler();
 if (!$mh->login($username, $fPassword_current)) {
     $error += 1;
     $pPassword_password_current_text = $PALANG['pPassword_password_current_text_error'];
 }
 if (empty($fPassword) or $fPassword != $fPassword2) {
     $error += 1;
     $pPassword_password_text = $PALANG['pPassword_password_text_error'];
 }
 if ($error == 0) {
     $mh->init($username);
     # TODO: error handling
     if ($mh->change_pw($fPassword, $fPassword_current)) {
         flash_info(Config::Lang_f('pPassword_result_success', $username));
         header("Location: main.php");
         exit(0);
     } else {