index.php 785 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. use function Hestiacp\quoteshellarg\quoteshellarg;
  3. ob_start();
  4. // Main include
  5. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  6. // Check token
  7. verify_csrf($_POST);
  8. // Check user
  9. if ($_SESSION["userContext"] != "admin") {
  10. header("Location: /list/user");
  11. exit();
  12. }
  13. $rule = $_POST["rule"];
  14. $action = $_POST["action"];
  15. switch ($action) {
  16. case "delete":
  17. $cmd = "v-delete-firewall-rule";
  18. break;
  19. case "suspend":
  20. $cmd = "v-suspend-firewall-rule";
  21. break;
  22. case "unsuspend":
  23. $cmd = "v-unsuspend-firewall-rule";
  24. break;
  25. default:
  26. header("Location: /list/firewall/");
  27. exit();
  28. }
  29. foreach ($rule as $value) {
  30. $value = quoteshellarg($value);
  31. exec(HESTIA_CMD . $cmd . " " . $value, $output, $return_var);
  32. $restart = "yes";
  33. }
  34. header("Location: /list/firewall/");