로그인

검색

Extra Form
추천지수 5

방문자의 ip를 확인하기 위해 https://www.ipify.org/ 의 api를 이용했는데 이게 상황에 따라 응답이 약간 늦거나 하는 경우가 있어서 어차피 저희 서버에 요청을 하면 빠른 응답시간을 확보할 수 있어 서버에 php 파일 하나 업로드해서 저희 서버에 요청하기로 했습니다.

 

 

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

header('Cache-Control: max-age=600');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 600) . ' GMT');
$callback = $_REQUEST['callback']; 
$format = $_REQUEST['format']; 

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

?>

 

요렇게 해서 https://www.ipify.org/ 에 요청할때 사용했던 스크립와 똑같이 사용할 수 있도록 변수를 똑같이 맞줘서 만들었습니다.

 

저희는 사이트 루트에 파일을 업로드 해서 사용합니다.

 

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

 

기존 스크립트 중 윗 부분만

 

<script type="application/javascript" src="https://도메인/업로드파일명.php?format=jsonp&callback=getIP"></script>

 

요렇게 바꿔서 사용하면 될 것 같습니다. 

구글 태그매니저에 입력했던 스크립트 중 윗 부분만 자체서버 쪽으로 교체해주면 약간 멈칫하는 현상이 가끔 발생하는 것이 사라질 것 같네요. 물론 서버의 반응속도는 자체서버 상태에 따라 다르니 그건 ...

 

일단 저희는 저희 서버에서 요청하니 아주 빨라졌습니다.

브라우저에서 확인했을때 ip 똑같이 가져오는거 확인했으니 똑같이 잘 되겠죠.

 

 

PHP 코드 중 header('Content-Type: text/javascript ; charset=UTF-8');  의 부분이 변경되었습니다.

 

 

매번 ip를 확인해서 반환해줄 필요가 없을 것 같아 

header('Cache-Control: max-age=600');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 600) . ' GMT');

 

를 추가해서 10분 동안 동일한 요청에 대해서는 캐시된 데이터를 사용하게 했습니다.

  • 내강아지 2021.02.10 02:34

    멈칫 정도이신가요?  보고서 리스트에 반영되는게 초단위도 아니고 분단위로...늦을때도 있었네요. 

    우선 뭔가 빨라진다니 적용해 봐야겠네요..

    항상 팁 공유해주셔서 감사드립니다.ㅠㅠ 저도 얼른 다른 분들에게 도움이 되는 팁을 제공해보고싶네요. 


  • profile
    꿀팁관리소장 2021.02.10 09:39
    To.내강아지
    구글 태그 매니저에서 아날리틱스로 전송해서 아날리틱스에서 집계한 것을 보여주는 것은 완전 실시간이 아니기 때문에 분단위로 늦게 집계가 보이는 것은 너무 당연합니다.

    지금 방문자의 ip를 가져오는 작업을 자체서버에서 하게 한 이유는 페이지가 로딩될때 사이트 컨텐츠의 내용이 출력되기 위해 필요한 시간 + ip를 가져오기위해 api에 방문자의 ip를 요청에 회신 받는 시간이 추가됩니다.

    그런데 api 사용은 늘 그렇지만 해당 서버의 컨디션에 따라 응답시간이 달라집니다. 이 응답시간 때문에 페이지가 뜰때 약간 멈칫 하는 순간이 많다는 것입니다.

    사이트 속도가 워낙 빠른 경우라면 이러한 시간이 추가될때 쉽게 느껴지지만 사이트 속도가 조금 느리다면 눈치채지 못할 수 있습니다.
    저희는 자체서버에서 처리하면서 ip를 확인을 위해 추가되는 시간은 없어졌다고 볼 정도로 보여집니다.
  • 내강아지 2021.02.10 17:42
    To.꿀팁관리소장

    보고서 반영시간이 아니였군요. 역시 여쭤보길 잘했다고 생각합니다.
    팁을 따라서 저도 적용을 했습니다. 적용하고 바로 확인이 가능하셨나요? 저는 지금 아이피를 가져오지 못하고 있는것 같거든요..

  • profile
    꿀팁관리소장 2021.02.10 17:44
    To.내강아지
    글쎄요. 저는 저희 서버에서 아이피를 가져오나 다른 서버에서 가져오나 차이는 없었습니다. 변수등이 바뀌신거 아닌가요? 오타를 내셨거나....

    브라우저 주소창에 직접 주소 입력하셔서 결과가 예상한 변수로 해서 나오는지 확인하셨나요?
  • 내강아지 2021.02.10 17:51
    To.꿀팁관리소장
    Notice: Undefined index: callback in /var/www/html/ipaddresslst.php on line 3
    Notice: Undefined index: format in /var/www/html/ipaddresslst.php on line 4

    확인해보니 오타는 없네요..
    복붙해서 php파일 만들고, 태그관리자 >태그 > 스크립트를 글을 참고하여 수정했습니다.
    과정중에 제가 틀린것이 있는지요?
  • profile
    꿀팁관리소장 2021.02.10 17:56
    To.내강아지
    지금 ip 출력이 안되고 php 에러가 나니까 지금 php를 살펴보셔야 할 것 같은데요.
  • 내강아지 2021.02.10 17:59
    To.꿀팁관리소장
    <?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.")";
    }
    ?>
    이렇게 그대로 복붙했는데 안 되네요.. 다시 복사해서 붙여 넣어봤는데 달라진 점도 없구요..
    서버랑도 관련있을 수 있나요?
  • profile
    꿀팁관리소장 2021.02.10 18:06
    To.내강아지

    구글링을 해보면 php.ini 를 고치거나 변수의 선언을 미리 해줘야 한다고 나옵니다.
    저희 서버 2개와 운영하시는 서버의 세팅 차이로 보이구요.

    $callback["key"] = NULL;
    $format["key"] =NULL;
    위 2줄을 $callback = $_REQUEST['callback']; 위쪽에 넣어보신 다음 동일하면 서버 세팅을 고치셔야 하지 않을까 하는 추측을 해봅니다.

  • 내강아지 2021.02.10 18:12
    To.꿀팁관리소장
    링크 주신 것을 토대로 php.ini 파일 고쳤더니 에러 표시가 사라지긴 했는데 아이피는 보이지 않네요
    말씀해주신 두 줄을 추가해도 동일하구요 ㅠ
    서버 관련된 것은 너무 어려워서;; 적용할 수 있을지 모르겠네요;
  • profile
    꿀팁관리소장 2021.02.10 18:17
    To.내강아지

    지금 해보니 잘 나옵니다.
    삭제?format=jsonp&callback=getIP

  • 내강아지 2021.02.10 18:21
    To.꿀팁관리소장
    아... ?format=jsonp&callback=getIP 뒤에 이걸 안붙였네요;;
    /ipaddersslst.php 하면 나오는 줄 알고 있었네요;; 정말 감사합니다.
  • profile
    꿀팁관리소장 2021.02.10 18:23
    To.내강아지

    처음에 에러 뜨는 것도 아마 변수 없이 php가 실행되서 뜨는거 맞는 거 같습니다. 다만 보통 서버 세팅에서 에러 안뜨게 되어 있어서 저희는 안뜨는 거 같구요.

    서버 세팅 유지 하면서 에러 안띄우러면 변수를 초기화 해주는 코드를 넣고 하면 되는데 자체적으로 변수까지 넣어서 요청할 것이고 하기 때문에 별도로 조치를 하지 않아도 될 같네요.

    결론은 처음부터 잘 되는거였네요.

    그럼 구글 아날리틱스에 수집 안되는건 다른 실수가 있는 것이니 이제 찾으셔야 겠습니다.

  • 내강아지 2021.02.10 18:29
    To.꿀팁관리소장

    넵!
    태그 관리자에서 태그 > 스크립트 >PUSH_IP_ADDR >
    <script type="application/javascript">
    function getIP(json) {
    skip_ip_addr = json.ip; // skp_ip_addr은 Google Tag Manager에서 임의로 추가한 변수 입니다.
    }
    </script>
    <script type="application/javascript" src="삭제/ipaddresslst.php?format=jsonp&callback=getIP"></script>
    </script>
    이렇게 바꾸고 제출해서 작업공간을 버전업했습니다.

    이 과정 한번만 검토해주실수 있을까요... 제가 이렇게 한게 맞는지요.. 태그 관리자에서 뭘 더 조정해줘야하는건 아닌가요?

  • profile
    꿀팁관리소장 2021.02.10 18:31
    To.내강아지
    이건 따로 검토할 수 없고 아날리틱스에 잘 수집되는지 확인하셔야 할 것 같습니다.

    - 구글 태그관리자에서 테스트할 수 있긴 한데 제가 거기는 귀찮아서 안찾아봤습니다.


    이전에 이렇게 안하셨나요? 동일하게 하셨나요?

    이전에 실수가 있었다면 이제 될 겁니다.

  • 내강아지 2021.02.10 18:35
    To.꿀팁관리소장
    네 제가 해야죠! 직접 테스트 하실필요까지 없으세요..제가 한 과정들 중에 빼먹은 것이 있는지 여쭤본 것이니까요..
    위에 과정들이 아까 처음에 했던 과정이고 더 수정한 것은 없는데 일단 조금 기다려보려고 합니다.
  • profile
    꿀팁관리소장 2021.02.10 18:36
    To.내강아지
    아래 댓글 달아드렸는데 </script> 하나다 제 눈에는 더 보입니다.
  • profile
    꿀팁관리소장 2021.02.10 18:34
    To.내강아지
    어 다시 보니까 </script> 닫는게 하나 더 있는데요???????
  • 내강아지 2021.02.10 18:41
    To.꿀팁관리소장
    헐..그렇네요.. ㅠㅠ 이런 사소한 실수를 ㅠㅠ 이것만 아니였다면 이미 되고 있었겠네요...
    별 것도 아닌것으로 댓글 왕창쓰고 귀찮게해서 죄송합니다;;
  • profile
    꿀팁관리소장 2021.02.10 17:58
    To.내강아지
    https://doolyit.tistory.com/138
  • 내강아지 2021.02.10 18:45
    파일이름도 짧게 바꾸고 스크립트 수정하고 버전업했습니다. 번거롭게 해드려 죄송해요..

    설 명절 즐겁고 따뜻하게 보내시길 바랍니다.감사합니다.

  • profile
    꿀팁관리소장 2021.02.10 18:45
    To.내강아지
    잘 되시면 좋겠네요. 성공하셨길!

사이트로 수익내기(41)

사이트로 수익을 내는 방법에 관한 이야기를 다룹니다.

  1. read more
  2. Read More
  3. Read More
  4. Read More
  5. Read More
  6. Read More
  7. Read More
  8. Read More
  9. Read More
  10. Read More
  11. Read More
  12. Read More
  13. 애드센스 무효클릭 신고

    Date2021.02.16 Views75 Votes0
    Read More
  14. Read More
  15. Read More
  16. 애드블록 플러스 설치했습니다. 9

    Date2021.02.07 Views119 Votes0
    Read More
  17. Read More
  18. Read More
  19. Read More
  20. Read More
  21. Read More
Board Pagination Prev 1 2 3 Next
/ 3