diff --git a/src/Pandatech.VerticalSlices/SharedKernel/Helpers/HttpContextParser.cs b/src/Pandatech.VerticalSlices/SharedKernel/Helpers/HttpContextParser.cs index 0cb305c..f06874f 100644 --- a/src/Pandatech.VerticalSlices/SharedKernel/Helpers/HttpContextParser.cs +++ b/src/Pandatech.VerticalSlices/SharedKernel/Helpers/HttpContextParser.cs @@ -109,7 +109,8 @@ public static string TryParseUserAgent(this HttpContext httpContext) "X-Forwarded-Host", "X-Forwarded-Proto", "X-Forwarded-Server", - "X-Forwarded-Port" + "X-Forwarded-Port", + "CF-Connecting-IP" }; var stringBuilder = new StringBuilder(); @@ -186,7 +187,8 @@ public static decimal TryParseAccuracy(this HttpContext httpContext) public static string TryParseUserNetworkAddress(this HttpContext httpContext) { - string[] headersToCheck = ["X-Forwarded-For", "Forwarded", "X-Real-IP"]; + // Check at first Cloudflare "CF-Connecting-IP" header, which contains client real IP address + string[] headersToCheck = ["CF-Connecting-IP", "X-Forwarded-For", "Forwarded", "X-Real-IP"]; foreach (var header in headersToCheck) { @@ -235,4 +237,4 @@ private static bool IsValidIpAddress(string? ipAddress) return !string.IsNullOrWhiteSpace(ipAddress) && IPAddress.TryParse(ipAddress, out var parsed) && !parsed.IsIPv6UniqueLocal && ipAddress != "::1"; } -} \ No newline at end of file +} diff --git a/src/Pandatech.VerticalSlices/wwwroot/assets/css/panda-style.css b/src/Pandatech.VerticalSlices/wwwroot/assets/css/panda-style.css index 821df53..ebcc69f 100644 --- a/src/Pandatech.VerticalSlices/wwwroot/assets/css/panda-style.css +++ b/src/Pandatech.VerticalSlices/wwwroot/assets/css/panda-style.css @@ -85,7 +85,7 @@ div.topbar { width: 100%; top: 0; border-bottom: 1px solid #ffffff; - z-index: 1000000; + z-index: 1000; } .swagger-ui {