この記事で解決できる悩み
いずみ
こんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴9年)で、資格は13個保有しています。
「LaravelでX-Forwarded-ForからIPアドレスを取得する方法を知りたい」とお考えではありませんか?
システム構成上、X-Forwarded-ForからIPアドレスを取得しなければいけないことってありますよね?(あるか?)
実装してみたら意外と簡単でしたぜ。
ということで、本記事ではLaravelでX-Forwarded-ForからIPアドレスを取得する方法を解説します。
すぐ読み終わるので、ぜひ最後まで読んでくださいませ。
目次
【Laravel】X-Forwarded-ForからIPアドレスを取得する方法
結論、以下のコードでX-Forwarded-ForからIPアドレスを取得できます。
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use RSResponse;
class IpAddress
{
public function handle(Request $request, Closure $next)
{
$forwardedFor = $request->header('X-Forwarded-For');
if ($forwardedFor) {
// X-Forwarded-Forはカンマ区切りで複数のIPが送信される可能性があるため、最初のIPを取得する
$ips = explode(',', $forwardedFor);
$ip = trim($ips[0]);
}
return $next($request);
}
}
今回はミドルウェアで実装してみました。
意外と簡単ですね。
まとめ
今回は、LaravelでX-Forwarded-ForからIPアドレスを取得する方法について解説しました。
以下が本記事のまとめになります。
- おすすめ本
Laravelの勉強なら「PHPフレームワーク Laravel入門 第2版
最後までお読みいただき、ありがとうございました!
- クソおすすめ本
海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。