Files
2026-07-13 13:32:57 +08:00

11 lines
406 B
TypeScript

/**
* Extracts the client IP address from the X-Forwarded-For header.
* Takes the last item in the header since ALB appends the real client IP by default.
*/
export function extractClientIp(xff: string | null): string | null {
if (!xff) return null;
const parts = xff.split(",").map((p) => p.trim());
return parts[parts.length - 1]; // take last item, ALB appends the real client IP by default
}