index.php 1.4 KB

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