index.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. // Init
  3. error_reporting(NULL);
  4. ob_start();
  5. session_start();
  6. $TAB = 'FIREWALL';
  7. // Main include
  8. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  9. // Check user
  10. if ($_SESSION['user'] != 'admin') {
  11. header("Location: /list/user");
  12. exit;
  13. }
  14. // Check POST request
  15. if (!empty($_POST['ok'])) {
  16. // Check empty fields
  17. if (empty($_POST['v_chain'])) $errors[] = __('banlist');
  18. if (empty($_POST['v_ip'])) $errors[] = __('ip address');
  19. if (!empty($errors[0])) {
  20. foreach ($errors as $i => $error) {
  21. if ( $i == 0 ) {
  22. $error_msg = $error;
  23. } else {
  24. $error_msg = $error_msg.", ".$error;
  25. }
  26. }
  27. $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg);
  28. }
  29. // Protect input
  30. $v_chain = escapeshellarg($_POST['v_chain']);
  31. $v_ip = escapeshellarg($_POST['v_ip']);
  32. // Add firewall ban
  33. if (empty($_SESSION['error_msg'])) {
  34. exec (VESTA_CMD."v-add-firewall-ban ".$v_ip." ".$v_chain, $output, $return_var);
  35. check_return_code($return_var,$output);
  36. unset($output);
  37. }
  38. // Flush field values on success
  39. if (empty($_SESSION['error_msg'])) {
  40. $_SESSION['ok_msg'] = __('BANLIST_CREATED_OK');
  41. unset($v_ip);
  42. }
  43. }
  44. // Header
  45. include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
  46. // Panel
  47. top_panel($user,$TAB);
  48. // Display body
  49. include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_firewall_banlist.html');
  50. // Flush session messages
  51. unset($_SESSION['error_msg']);
  52. unset($_SESSION['ok_msg']);
  53. // Footer
  54. include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');