LaravelでユーザのIPアドレスやホスト、ユーザーエージェントなどを取得する方法

Laravel

ユーザが投稿するWebサイトを作るときは、いたずら防止などの目的でユーザのIPアドレスやホストなどを保存します

ピュアPHPでやる方法とLaravelで取れるやり方には少し違いがあるので、書いておきます

PHP

// IPアドレス
$IP        = $_SERVER['REMOTE_ADDR'];

// ホスト
$host      = gethostbyaddr($IP);

// Port
$port      = $_SERVER['SERVER_PORT'];

// User Agent
$userAgent = $_SERVER['HTTP_USER_AGENT'];

Laravel

// よくある保存処理などのメソッド
public function store(Request $request){
  // IPアドレス
  $IP = $request->ip();
  
  // ホスト
  $host = gethostbyaddr( $request->ip() );

  // Port
  $port = $request->server('SERVER_PORT');

  // User Agent
  $userAgent = $request->header('User-Agent');
}