diff --git a/src/lib/ab-testing/server.ts b/src/lib/ab-testing/server.ts index 8dd9032787f..51577136a63 100644 --- a/src/lib/ab-testing/server.ts +++ b/src/lib/ab-testing/server.ts @@ -28,8 +28,11 @@ export const getABTestAssignment = async ( const headers = await import("next/headers").then((m) => m.headers()) // Get IP and user agent (primary identifier) + // x-forwarded-for contains: "client_ip, proxy1, proxy2, ..." - extract only client IP const forwardedFor = - headers.get("x-forwarded-for") || headers.get("x-real-ip") || "unknown" + headers.get("x-forwarded-for")?.split(",")[0]?.trim() || + headers.get("x-real-ip") || + "unknown" const userAgent = headers.get("user-agent") || "" // Add privacy-preserving entropy sources