Node.jsで、requestからアクセス元のIPアドレスを取得するサンプルです。
サンプルソース
例)requestからアクセス元のIPアドレスを取得するFunction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var clientIP = function(request){ var ip = '0.0.0.0'; if (request.headers['x-forwarded-for']) { ip = request.headers['x-forwarded-for']; }else if (request.connection && request.connection.remoteAddress) { ip = request.connection.remoteAddress; }else if (request.connection.socket && request.connection.socket.remoteAddress) { ip = request.connection.socket.remoteAddress; }else if (request.socket && request.socket.remoteAddress) { ip = request.socket.remoteAddress; } return ip; }; |
解説
- アクセス元のIPアドレスは基本的にrequest.headers['x-forwarded-for']に入っていますが、 取得できない場合もあるため、後続処理で取得を試みています。
- 最終的にどの方法でも取得できない場合は、「0.0.0.0」を返します。