From 9c9442b465e9605c56b4d4f67360b55229ee35e4 Mon Sep 17 00:00:00 2001 From: Georgi Hristov Date: Sat, 23 May 2026 17:42:44 +0300 Subject: [PATCH] fix(middleware): filter common noise requests --- .../Middleware/DebugProbeMiddleware.cs | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs b/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs index ba925a2..26fd3b7 100644 --- a/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs +++ b/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs @@ -16,6 +16,22 @@ public class DebugProbeMiddleware { private const string BodyTooLargeMessage = "[Body too large]"; private const string BinaryBodyMessage = "[Body not captured: non-text content]"; + private static readonly string[] DefaultIgnorePaths = + [ + "/debug", + "/swagger", + "/.well-known", + + // browser noise + "/favicon.ico", + + // scanners + "/.git", + "/wp-admin", + "/phpmyadmin", + "/cgi-bin", + "/server-status" + ]; private static readonly HashSet SensitiveHeaders = new(StringComparer.OrdinalIgnoreCase) { @@ -37,12 +53,12 @@ public async Task Invoke(HttpContext context, DebugEntryStore store) { var path = context.Request.Path.Value ?? string.Empty; - var ignored = - path.StartsWith("/debug", StringComparison.OrdinalIgnoreCase) || - path.StartsWith("/swagger", StringComparison.OrdinalIgnoreCase) || - path.StartsWith("/.well-known", StringComparison.OrdinalIgnoreCase) || - _options.IgnorePaths.Any(x => - path.StartsWith(x, StringComparison.OrdinalIgnoreCase)); + var ignorePaths = DefaultIgnorePaths + .Concat(_options.IgnorePaths) + .Distinct(StringComparer.OrdinalIgnoreCase); + + var ignored = ignorePaths.Any(x => + path.StartsWith(x, StringComparison.OrdinalIgnoreCase)); if (ignored) {