Skip to content

Commit 9c9442b

Browse files
fix(middleware): filter common noise requests
1 parent 2b7485a commit 9c9442b

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)