banip.html 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <!-- Standard Meta -->
  5. <meta charset="utf-8" />
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  8. <!-- Site Properties -->
  9. <title>Minecraft Server</title>
  10. <script src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script>
  11. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css">
  12. <script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
  13. <!-- MC Skin-->
  14. <link rel="stylesheet" href="/css/minecraft-skinviewer.css">
  15. <!-- Semantic UI Alert-->
  16. <link rel="stylesheet" href="/css/Semantic-UI-Alert.css">
  17. <script src="/js/semantic-ui-alert.js"></script>
  18. <script src="/js/alert.js"></script>
  19. </head>
  20. <body>
  21. <div class="ui divided items" id="userlist">
  22. </div>
  23. <div class="ui fluid input" style="position: fixed;bottom: 10px;width: 99vw;">
  24. <input type="text" id="ip" placeholder="IP">
  25. <div style="width:10px"></div>
  26. <input type="text" id="reason" placeholder="Reason">
  27. <div style="width:10px"></div>
  28. <div class="ui button" onclick="submit()">Submit</div>
  29. </div>
  30. </body>
  31. <script>
  32. updateInfo();
  33. setInterval(function() {
  34. updateInfo()
  35. }, 5000);
  36. function updateInfo() {
  37. $.get("/ban-ip", function(data) {
  38. if (data.length == 0) {
  39. $("#userlist").html(`
  40. <div class="item">
  41. <div class="content">
  42. <div class="header"No record.</div>
  43. </div>
  44. </div>
  45. `)
  46. return
  47. }
  48. $("#userlist").html("");
  49. $.each(data, function(i, item) {
  50. $("#userlist").append(`
  51. <div class="item">
  52. <div class="content">
  53. <div class="header">` + item.ip + `</div>
  54. <div class="meta">
  55. <span>` + item.reason + `</span>
  56. </div>
  57. </div>
  58. <div class="ui right floated buttons" style="display:block;margin:auto" ip="` + item.ip + `">
  59. <button onclick="unban(this)" class="ui red button">UnBan</button>
  60. </div>
  61. </div>
  62. `)
  63. })
  64. $("#userlist").append('<div style="height:40px"></div>');
  65. });
  66. }
  67. function unban(btn) {
  68. var data = $(btn).parent().attr("ip");
  69. $.get("/ban-ip/remove?field=ip&search=" + data);
  70. }
  71. function submit() {
  72. var ip = $("#ip").val();
  73. var reason = $("#reason").val();
  74. $.get("/ban-ip/add?ip=" + ip + "&reason=" + reason);
  75. }
  76. </script>
  77. </html>