index.php 1.5 KB

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