ノードでユーザーのIPアドレスを確認する方法 質問する

ノードでユーザーのIPアドレスを確認する方法 質問する

コントローラー内から特定のリクエストの IP アドレスを特定するにはどうすればよいでしょうか? たとえば (Express の場合):

app.post('/get/ip/address', function (req, res) {
    // need access to IP address here
})

ベストアンサー1

あなたのrequestオブジェクトには、socket、 これはnet.Socketオブジェクト。net.SocketオブジェクトにはプロパティがありますremoteAddressしたがって、次の呼び出しで IP を取得できるはずです。

request.socket.remoteAddress

(ノードバージョンが13未満の場合は、現在は非推奨のrequest.connection.remoteAddress

編集

@juandがコメントで指摘しているように、サーバーがプロキシの背後にある場合、リモートIPを取得する正しい方法は次のとおりです。request.headers['x-forwarded-for']

編集2

expressNode.js で使用する場合:

を設定するとapp.set('trust proxy', true)req.ipプロキシの背後であっても実際の IP アドレスが返されます。詳細についてはドキュメントを確認してください

おすすめ記事