index.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  3. // Check token
  4. verify_csrf($_GET);
  5. // Check if administrator is viewing system log (currently 'admin' user)
  6. if (($_SESSION['userContext'] === "admin") && (isset($_GET['user']))) {
  7. $user=escapeshellarg($_GET['user']);
  8. $token=$_SESSION['token'];
  9. }
  10. // Clear log
  11. exec(HESTIA_CMD."v-delete-user-auth-log ".$user, $output, $return_var);
  12. check_return_code($return_var, $output);
  13. unset($output);
  14. $ip = $_SERVER['REMOTE_ADDR'];
  15. if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
  16. if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) {
  17. $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
  18. }
  19. }
  20. $v_ip = escapeshellarg($ip);
  21. $user_agent = $_SERVER['HTTP_USER_AGENT'];
  22. $v_user_agent = escapeshellarg($user_agent);
  23. $v_session_id = escapeshellarg($_SESSION['token']);
  24. // Add current user session back to log unless impersonating another user
  25. if (!isset($_SESSION['look'])) {
  26. exec(HESTIA_CMD."v-log-user-login ".$user." ".$v_ip." success ".$v_session_id." ".$v_user_agent, $output, $return_var);
  27. }
  28. // Flush session messages
  29. unset($_SESSION['error_msg']);
  30. unset($_SESSION['ok_msg']);
  31. // Set correct page reload target
  32. if (($_SESSION['userContext'] === "admin") && (!empty($_GET['user']))) {
  33. header("Location: /list/log/auth/?user=$user&token=$token");
  34. } else {
  35. header("Location: /list/log/auth/");
  36. }
  37. exit;