맛집 여행 캠핑 일상 생활

[JAVASCRIPT] REMOTE_ADDR 클라이언트 IP 알아내는 방법 본문

JAVASCRIPT

[JAVASCRIPT] REMOTE_ADDR 클라이언트 IP 알아내는 방법

영은파더♥ 2019. 11. 29. 13:39

PHP 같은 경우 $_SERVER['REMOTE_ADDR'] 로 클라이언트의 공인아이피를 알 수가 있습니다.

하지만 자바스크립트 자체적으로 알아낼 수가 없기에 외부에 프로그래밍된 것에 의존하여야 합니다.

api.ipify.org 사이트와 같은 외부URL을 이용하는 방법과 자체적으로 서버를 구축하는 방법이 있습니다.

 

아래는 api.ipify.org 를 이용하는 방법입니다.

<script type="application/javascript">
  function getIP(json) {
    alert(json.ip);
  }
</script>

<!-- javascript 방식 -->
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>

<!-- jQuery 방식 1 -->
<script type="application/javascript">
  $(function() {
    $.getJSON("https://api.ipify.org?format=jsonp&callback=?", getIP);
  });
</script>

<!-- jQuery 방식 2 -->
<script type="application/javascript">
  $(function() {
    $.getJSON("https://api.ipify.org?format=jsonp&callback=?", function(e){alert(e.ip);});
  });
</script>

 

자체적으로 서버를 구축해서 이용할 수도 있습니다.
PHP 소스 코드는 아래 처럼 작성하면 됩니다.

<?php
	header('Content-Type: text/html; charset=UTF-8');

	$callback = $_REQUEST['callback'];
	$format   = $_REQUEST['format'];

	if($format == 'jsonp') {
		$ret['ip'] = $_SERVER['REMOTE_ADDR'];
		$json_str = json_encode($ret);
		echo $callback."(".$json_str.")";
	}
?>

자체 서버를 구축한 다음에 구축한 서버의 url 을 호출하면 됩니다.

 

Trackback : | Comments :