Bitchas1


SUBMITTED BY: Bitchas1

DATE: Feb. 12, 2022, 10:42 a.m.

FORMAT: Text only

SIZE: 2.0 kB

HITS: 59

  1. if(!empty($method) && $csrf_token == $_SESSION['csrf_token']) {
  2. switch ($method) {
  3. case 'Login':
  4. $password = $base->unam_filterParameter('password');
  5. $loginBlock = $base->unam_dbSelect(getConn(), 'IPBlock', 'ipb_ip, ipb_logintries, ipb_datetime, ipb_blocktime', ['ipb_ip' => $hostaddress]);
  6. if (!empty($loginBlock) && ($loginBlock['ipb_logintries'] >= $config['failedlogin_blocktries'] || $loginBlock['ipb_logintries'] == 0) && (strtotime(date("Y-m-d H:i:s")) - strtotime($loginBlock['ipb_datetime'])) / 60 < $loginBlock['ipb_blocktime']) {
  7. echo json_encode(['response' => 3, 'errormsg' => 'Too many unsuccessful login attempts, please wait ' . ($loginBlock['ipb_blocktime'] - (int)((strtotime(date("Y-m-d H:i:s")) - strtotime($loginBlock['ipb_datetime'])) / 60)) . ' minute(s) and try again.']);
  8. } else if (!empty($password)) {
  9. if ($password === $config['password']) {
  10. $_SESSION['logged_in'] = true;
  11. $base->unam_dbDelete(getConn(), "IPBlock", ["ipb_ip" => $hostaddress]);
  12. echo json_encode(['response' => 'success']);
  13. } else {
  14. if (empty($loginBlock) || (!empty($loginBlock) && (strtotime(date("Y-m-d H:i:s")) - strtotime($loginBlock['ipb_datetime'])) / 60 >= $loginBlock['ipb_blocktime'])) {
  15. $base->unam_dbDelete(getConn(), "IPBlock", ["ipb_ip" => $hostaddress]);
  16. $base->unam_dbInsert(getConn(), 'IPBlock', ['ipb_ip' => $hostaddress, 'ipb_logintries' => 1, 'ipb_datetime' => date('Y-m-d H:i:s'), 'ipb_blocktime' => $config['failedlogin_blocktime']]);
  17. } else {
  18. $base->unam_dbUpdate(getConn(), 'IPBlock', ['ipb_logintries' => $loginBlock['ipb_logintries'] + 1], ['ipb_ip' => $hostaddress]);
  19. }

comments powered by Disqus