Пример #1
0
 $saltidx = strrpos($loggedInUser->password_hash, '{');
 $saltendidx = $saltidx !== false ? strpos($loggedInUser->password_hash, '}', $saltidx) : false;
 if ($saltidx !== false && $saltendidx !== false && $saltendidx > $saltidx) {
     // sha512 algorithm.
     $salt = substr($loggedInUser->password_hash, $saltidx + 1, $saltendidx - ($saltidx + 1));
     if (hash('sha512', $_POST['loginPassword'] . '{' . $salt . '}') . '{' . $salt . '}' != $loggedInUser->password_hash) {
         if (strtotime($__loginUsers[0]->last_login_failure) >= time() - $LOGIN_FAILURE_LOCKOUT_TIME) {
             // Most recent login failure as within lockout time; so increment failure count.
             $loggedInUser->login_failures++;
         } else {
             // Most recent login failure as too long ago to consider; start counting at 1.
             $loggedInUser->login_failures = 1;
         }
         $loggedInUser->last_login_failure = date('Y-m-d H:i:s');
         try {
             $__loginAppuserDAO->update($loggedInUser);
         } catch (Exception $ex) {
         }
         $loggedInUser = null;
     }
 } else {
     // md5 algorithm.
     $salt = substr($loggedInUser->password_hash, 0, 2);
     if ($salt . md5($salt . $_POST['loginPassword']) != $loggedInUser->password_hash) {
         if (strtotime($__loginUsers[0]->last_login_failure) >= time() - $LOGIN_FAILURE_LOCKOUT_TIME) {
             // Most recent login failure as within lockout time; so increment failure count.
             $loggedInUser->login_failures++;
         } else {
             // Most recent login failure as too long ago to consider; start counting at 1.
             $loggedInUser->login_failures = 1;
         }
Пример #2
0
 if ($result->errorMsg == '' && empty($result->fieldErrors)) {
     $onlyUpdateColumns = array();
     $neverUpdateColumns = array('id', 'when_added', 'added_by_user_id', 'last_updated', 'last_updated_by_user_id', 'login_failures');
     if (function_exists('preUpdateHook')) {
         preUpdateHook();
     }
     $__colsToUpdate = empty($onlyUpdateColumns) ? array_keys((array) $oldRow) : $onlyUpdateColumns;
     foreach ($__colsToUpdate as $name) {
         // Use property_exists() because isset() returns false for null
         // values, and we want to copy null values.
         if (property_exists($row, $name) && !in_array($name, $neverUpdateColumns)) {
             $oldRow->{$name} = $row->{$name};
         }
     }
     try {
         $success = $appuserDAO->update($oldRow);
     } catch (Exception $ex) {
         $success = false;
     }
     if ($success) {
         if (function_exists('postUpdateHook')) {
             postUpdateHook();
         }
         if ($success) {
             $db->commitTransaction();
             $committed = true;
             $result->successMsg .= sprintf(_t('crud.idUpdated'), _t('crud.appuser.tableDescription', 'User'), $row->id) . "\n";
         }
     }
     if (!$success) {
         if ($result->errorMsg == '' && empty($result->fieldErrors)) {