% content_for :title, "#{@network_range.cidr} - Network Range Details" %> <% if @network_range.persisted? %> <%= turbo_stream_from "network_range_#{@network_range.id}" %> <% end %>
<%= JSON.pretty_generate(@network_range.additional_data_hash) %>
Select the type of rule to create
Action to take when rule matches
Leave blank for permanent rule. Format: YYYY-MM-DD HH:MM (e.g., 2024-12-31 23:59)
Pattern will be used for matching
Maximum requests per time window
Time window in seconds
URL to redirect to when rule matches
Human-readable description of why this rule exists
Create this network range to add rules and manage it permanently.
<% else %>Get started by creating a rule for this network range.
<% end %>| Time | IP | Path | Action | User Agent |
|---|---|---|---|---|
|
<%= event.timestamp.strftime("%H:%M:%S") %>
<%= event.timestamp.strftime("%Y-%m-%d") %>
|
<%= event.ip_address %> |
<%= event.request_path || "-" %>
|
<%= event.waf_action %> |
<% if event.user_agent.present? %>
<% ua = parse_user_agent(event.user_agent) %>
<%= ua[:name] if ua[:name].present? %>
<% if ua[:version].present? && ua[:name].present? %>
<%= ua[:version] %>
<% end %>
<% if ua[:os_name].present? %>
<%= ua[:os_name] %>
<% if ua[:os_version].present? %>
<%= ua[:os_version] %>
<% end %>
<% end %>
<% if ua[:bot] %>
🤖 <%= ua[:bot_name] || 'Bot' %>
<% end %>
|