Files
haproxy-dashboard/templates/logs.html
Mateusz Gruszczyński 0a37ba36d9 redactor
2025-11-01 21:26:49 +01:00

104 lines
5.4 KiB
HTML

{% extends "base.html" %}
{% set active_page = "" %}
{% block title %}HAProxy • Logs{% endblock %}
{% block head %}
{% endblock %}
{% block breadcrumb %}<nav aria-label="breadcrumb" class="mb-3"><ol class="breadcrumb mb-0"><li class="breadcrumb-item"><a href="{{ url_for('main.index') }}"><i class="bi bi-house"></i></a></li><li class="breadcrumb-item active" aria-current="page">Logi</li></ol></nav>{% endblock %}
{% block content %}
<header class="header1" id="header1>
<a href="/home" style="text-decoration: none;">
<h3 style="font-size: 22px;" class="logo">
<i style="margin: 8px;" class="fas fa-globe"></i>Haproxy Configurator
</h3>
</a>
<a href="/home" class="menu-link">Home</a>
<a href="/edit" class="menu-link">Edit HAProxy Config</a>
<a href="/" class="menu-link">Add Frontend&Backend</a>
<a href="/logs" class="menu-link">Security Events</a>
<a href="/statistics" class="menu-link">Statictics</a>
<a href="http://{{ request.host.split(':')[0] }}:8484/stats" class="menu-link" >HAProxy Stats</a>
<div class="custom-control custom-switch ml-auto">
<input type="checkbox" class="custom-control-input" id="darkModeSwitch">
<label class="custom-control-label" for="darkModeSwitch">Dark Mode</label>
</div>
<script>
// Function to toggle dark mode
function toggleDarkMode() {
const body = document.body;
body.classList.toggle('dark-mode');
// Save user's preference to localStorage
const isDarkMode = body.classList.contains('dark-mode');
localStorage.setItem('darkMode', isDarkMode); // Store the actual value
}
// Check if dark mode preference is saved in localStorage
const savedDarkMode = localStorage.getItem('darkMode');
if (savedDarkMode === 'true') {
document.body.classList.add('dark-mode');
}
// Add event listener to the switch
const darkModeSwitch = document.getElementById('darkModeSwitch');
darkModeSwitch.addEventListener('change', toggleDarkMode);
</script>
</header>
<h3 style="margin-top: 30px; margin-bottom: 30px; margin-left: 10%;" id="status_header">Status 403 Forbidden Log Entries</h3>
<div>
{% for entry in entries %}
<div class="log-entry" style="padding: 20px; width: 80%; margin-left: 10%; margin-bottom: 1%;">
<p><strong>Time Stamp:</strong> {{ entry['timestamp'] }}</p>
<p><strong>IP Address:</strong> {{ entry['ip_address'] }}</p>
<p><strong>HTTP Method:</strong> {{ entry['http_method'] }}</p>
<p id="requested_url"><strong>Requested URL:</strong> {{ entry['requested_url'] }}</p>
<!-- XSS Category -->
{% if entry['xss_alert'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#xssCollapse{{ loop.index }}">XSS Alert <span class="text-danger">(Click to show details)</span></p>
<div id="xssCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['xss_alert'] }}</strong></p>
</div>
{% endif %}
<!-- SQL Category -->
{% if entry['sql_alert'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#sqlCollapse{{ loop.index }}">SQL Alert <span class="text-danger">(Click to show details)</span></p>
<div id="sqlCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['sql_alert'] }}</strong></p>
</div>
{% endif %}
<!-- PUT Method Category -->
{% if entry['put_method'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#putMethodCollapse{{ loop.index }}">PUT Method Alert <span class="text-danger">(Click to show details)</span></p>
<div id="putMethodCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['put_method'] }}</strong></p>
</div>
{% endif %}
<!-- Illegal Resource Access -->
{% if entry['illegal_resource'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#putMethodCollapse{{ loop.index }}">Illegal Resource Access Alert <span class="text-danger">(Click to show details)</span></p>
<div id="putMethodCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['illegal_resource'] }}</strong></p>
</div>
{% endif %}
<!-- Illegal Resource Access -->
{% if entry['webshell_alert'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#putMethodCollapse{{ loop.index }}">WebShell Attack Alert <span class="text-danger">(Click to show details)</span></p>
<div id="putMethodCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['webshell_alert'] }}</strong></p>
</div>
{% endif %}
<p><strong>Status Code:</strong> 403</p>
</div>
{% endfor %}
</div>
{% endblock %}
{% block scripts %}
{% endblock %}