Skip to content

Commit b8c87b8

Browse files
fix(middleware): filter common noise requests
DebugProbe currently captures common browser and scanner-generated requests as normal entries. This PR adds filtering for known noise paths to reduce unnecessary dashboard entries and improve log clarity. Keeps legitimate traffic intact while removing obvious scanner and browser noise.
2 parents 2b7485a + 9c9442b commit b8c87b8

1 file changed

Lines changed: 22 additions & 6 deletions

File tree

DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,22 @@ public class DebugProbeMiddleware
1616
{
1717
private const string BodyTooLargeMessage = "[Body too large]";
1818
private const string BinaryBodyMessage = "[Body not captured: non-text content]";
19+
private static readonly string[] DefaultIgnorePaths =
20+
[
21+
"/debug",
22+
"/swagger",
23+
"/.well-known",
24+
25+
// browser noise
26+
"/favicon.ico",
27+
28+
// scanners
29+
"/.git",
30+
"/wp-admin",
31+
"/phpmyadmin",
32+
"/cgi-bin",
33+
"/server-status"
34+
];
1935

2036
private static readonly HashSet<string> SensitiveHeaders = new(StringComparer.OrdinalIgnoreCase)
2137
{
@@ -37,12 +53,12 @@ public async Task Invoke(HttpContext context, DebugEntryStore store)
3753
{
3854
var path = context.Request.Path.Value ?? string.Empty;
3955

40-
var ignored =
41-
path.StartsWith("/debug", StringComparison.OrdinalIgnoreCase) ||
42-
path.StartsWith("/swagger", StringComparison.OrdinalIgnoreCase) ||
43-
path.StartsWith("/.well-known", StringComparison.OrdinalIgnoreCase) ||
44-
_options.IgnorePaths.Any(x =>
45-
path.StartsWith(x, StringComparison.OrdinalIgnoreCase));
56+
var ignorePaths = DefaultIgnorePaths
57+
.Concat(_options.IgnorePaths)
58+
.Distinct(StringComparer.OrdinalIgnoreCase);
59+
60+
var ignored = ignorePaths.Any(x =>
61+
path.StartsWith(x, StringComparison.OrdinalIgnoreCase));
4662

4763
if (ignored)
4864
{

0 commit comments

Comments
 (0)