Add proxy IP headers to Telegram notifications
All checks were successful
Tests / Laravel tests (pull_request) Successful in 12m3s

This commit is contained in:
2026-06-04 00:30:44 +02:00
parent 03b06632f9
commit da4bdc6bf4
6 changed files with 96 additions and 19 deletions

View File

@@ -32,7 +32,8 @@ class FrontendController extends Controller
NotifyTelegramAboutPersonaliaClick::dispatch(
$personalia,
request()->ip(),
request()->userAgent()
request()->userAgent(),
$this->ipHeaders(request())
);
return response()->json([
@@ -55,7 +56,8 @@ class FrontendController extends Controller
$request->ip(),
$request->userAgent(),
$validated['email'] ?? null,
$validated['phone'] ?? null
$validated['phone'] ?? null,
$this->ipHeaders($request)
);
return response()->json(['status' => 'success']);
@@ -67,9 +69,23 @@ class FrontendController extends Controller
$request->validated(),
$request->ip(),
$request->userAgent(),
$request->header('Accept-Language')
$request->header('Accept-Language'),
$this->ipHeaders($request)
);
return response()->json(['status' => 'queued']);
}
/**
* @return array<string, string|null>
*/
protected function ipHeaders(Request $request): array
{
return [
'CF-Connecting-IP' => $request->header('CF-Connecting-IP'),
'X-Forwarded-For' => $request->header('X-Forwarded-For'),
'X-Real-IP' => $request->header('X-Real-IP'),
'Forwarded' => $request->header('Forwarded'),
];
}
}