index.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. use function Hestiacp\quoteshellarg\quoteshellarg;
  3. define("NO_AUTH_REQUIRED", true);
  4. $TAB = "RESET PASSWORD";
  5. if (isset($_SESSION["user"])) {
  6. header("Location: /list/user");
  7. }
  8. // Main include
  9. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  10. //Check values
  11. if (!empty($_POST["user"]) && !empty($_POST["twofa"])) {
  12. // Check token
  13. verify_csrf($_POST);
  14. $error = true;
  15. $v_user = quoteshellarg($_POST["user"]);
  16. $user = $_POST["user"];
  17. $twofa = $_POST["twofa"];
  18. exec(HESTIA_CMD . "v-list-user " . $v_user . " json", $output, $return_var);
  19. if ($return_var == 0) {
  20. $data = json_decode(implode("", $output), true);
  21. if ($data[$user]["TWOFA"] == $twofa) {
  22. $success = true;
  23. exec(HESTIA_CMD . "v-delete-user-2fa " . $v_user, $output, $return_var);
  24. session_destroy();
  25. } else {
  26. exec(
  27. HESTIA_CMD .
  28. "v-log-user-login " .
  29. $v_user .
  30. " " .
  31. $v_ip .
  32. " failed " .
  33. $v_session_id .
  34. " " .
  35. $v_user_agent .
  36. ' yes "Failed to enter correct 2FA reset key"',
  37. $output,
  38. $return_var,
  39. );
  40. sleep(5);
  41. }
  42. } else {
  43. exec(
  44. HESTIA_CMD .
  45. "v-log-user-login " .
  46. $v_user .
  47. " " .
  48. $v_ip .
  49. " failed " .
  50. $v_session_id .
  51. " " .
  52. $v_user_agent .
  53. ' yes "Failed to enter correct 2FA reset key"',
  54. $output,
  55. $return_var,
  56. );
  57. sleep(5);
  58. }
  59. }
  60. require_once "../templates/header.php";
  61. require_once "../templates/pages/login/reset2fa.php";