Backend-dev/nodeJS & express
[javascript] express로 사용자 req 분석하기
Hannana.
2024. 5. 27. 11:20
728x90
반응형
node.Js express로 req를 분석해보자.
1. 사용자 ip 받아오기
- 루프백 서버
const express = require('express');
const app = express();
// IPv6 주소에서 IPv4 주소를 추출하는 함수
function extractIPv4(ip) {
if (ip === '::1') {
return '127.0.0.1';
}else if (ip.includes('::ffff:')) {
return ip.split('::ffff:')[1];
}
return ip;
}
app.get('/', (req, res) => {
// IP 주소 가져오기
const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
// IPv6 주소에서 IPv4 주소를 추출
const ipv4 = extractIPv4(ip);
// User-Agent 헤더를 이용하여 기기 정보 가져오기
const userAgent = req.headers['user-agent'];
// 결과 출력
res.send(`IP 주소: ${ipv4}<br>기기 정보: ${userAgent}`);
});
결과
- 접속자 본인의 ip
const express = require('express');
const app = express();
const ip = require("ip");
app.get("/myip", (req, res) => {
const myip = ip.address();
// User-Agent 헤더를 이용하여 기기 정보 가져오기
const userAgent = req.headers['user-agent'];
res.send(`IP 주소: ${myip}<br>기기 정보: ${userAgent}`);
});
결과
2. (응용) 클라이언트 요청 정보 받아오기
요청 시, request 정보가 콘솔에 찍히게 된다.
3. (번외) redis에 로그쌓기
- redis모듈 설치 : npm install redis
- 해당 서버에 접속할 때마다 로그 파일 찍히게 하기
반응형