방문자의 실제 IP 알아내기
REMOTE_ADDR 변수를 사용하면 실제 IP를 얻어내기 어려워
아래와 같이 쓰는게 좋습니다.
if (!empty($_SERVER["HTTP_CLIENT_IP"]))
아래와 같이 쓰는게 좋습니다.
if (!empty($_SERVER["HTTP_CLIENT_IP"]))
{
//공용 IP 확인
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
// 프록시 사용하는지 확인
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
}
//진짜 IP 정보
echo $ip;
댓글 6개
kiplayer
12년 전
오호~~~~~ 멋지신데요 ㅎㅎㅎ
12년 전
잘사용하겠습니다
Kalas
12년 전
프록시도 체크되는군요.
raineye
12년 전
감사합니다
12년 전
참고로 위 팁은 방문자 분석 용도로만 사용하시고, 보안 용도로는 사용하시면 안됩니다.
HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR 값은 HTTP header 로 전송되는 값이므로,
클라이언트에서 마음대로 위조할 수 있습니다.
따라서 IP로 접근 제한하는 기능에 위 내용을 적용하면 보안상 취약점이 되니 주의하셔야 합니다.
HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR 값은 HTTP header 로 전송되는 값이므로,
클라이언트에서 마음대로 위조할 수 있습니다.
따라서 IP로 접근 제한하는 기능에 위 내용을 적용하면 보안상 취약점이 되니 주의하셔야 합니다.
takumi22
12년 전
좋은 자료 감사드립니다
게시글 목록
| 번호 | 제목 |
|---|---|
| 11348 |
정규표현식
정규식 표현법
|
| 11346 |
웹서버
리눅스 기본 명령어
1
|
| 11345 |
jQuery
ajax 예제 입니다.
|
| 11336 |
jQuery
jQuery Performance
8
|
| 11332 |
jQuery
jQuery Event - 이벤트에 생명을~
3
|
| 11329 |
jQuery
jQuery Event - bind() 메서드
2
|
| 11326 |
jQuery
jQuery Event - 이벤트 지원 메서드
2
|
| 11324 | |
| 11323 | |
| 11321 | |
| 11320 |
jQuery
jQuery Core
|
| 11319 | |
| 11318 |
jQuery
jQuery Traverse - Filtering
|
| 11317 | |
| 11316 | |
| 11315 | |
| 11314 | |
| 11313 | |
| 11312 | |
| 11311 | |
| 11310 | |
| 11308 | |
| 11304 |
JavaScript
주소표시
3
|
| 20200 |
CSS
CSS 자료 링크
4
|
| 11300 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기