|
|
@@ -145,8 +145,19 @@ export class QrCodeController {
|
|
|
return reply.code(400).send({ message: '请提供参数' })
|
|
|
}
|
|
|
|
|
|
- // 记录扫描
|
|
|
- const ipAddress = request.ip || request.socket.remoteAddress
|
|
|
+ // 记录扫描 - 获取真实IP地址
|
|
|
+ let ipAddress = request.headers['x-forwarded-for'] as string
|
|
|
+ if (ipAddress) {
|
|
|
+ // x-forwarded-for 可能包含多个IP,取第一个(真实客户端IP)
|
|
|
+ ipAddress = ipAddress.split(',')[0].trim()
|
|
|
+ } else {
|
|
|
+ // 如果没有 x-forwarded-for,尝试其他常见的代理头
|
|
|
+ ipAddress = (request.headers['x-real-ip'] as string) ||
|
|
|
+ (request.headers['cf-connecting-ip'] as string) ||
|
|
|
+ request.ip ||
|
|
|
+ request.socket.remoteAddress ||
|
|
|
+ 'unknown'
|
|
|
+ }
|
|
|
const userAgent = request.headers['user-agent']
|
|
|
|
|
|
// 如果通过 qrCode 查询,记录扫描
|