BOARD

문제 해결

그누보드 다음 주소 API 파라미터 제거 필수 패치 가이드

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 7회 작성일 26-09-12 16:02

본문

문제 증상 및 원인

다음 우편번호 서비스 가이드가 변경됨에 따라, 외부 URL을 호출하는 자바스크립트 파일 주소 뒤에 버전 등의 파라미터가 포함되어 있으면 API 정책상 호출이 제한됩니다. 크롬 개발자 도구 콘솔에서 경고나 에러 로그가 발생할 수 있으며, 안내된 시점 이후에는 API 이용이 중지되므로 5.4.4 미만 버전 운영 사이트는 패치가 필요합니다. 그누보드 5.4.4 및 영카트 5.4.4 이후 버전에는 이미 적용되어 있습니다.

확인 방법

현재 운영 중인 사이트에서 주소 기능이 적용된 페이지의 소스 보기를 실행하여 다음 주소 API 관련 자바스크립트 파일 경로 뒤에 파라미터가 붙어 있는지 확인합니다. 패치 전에는 postcode.v2.js?ver=... 형태의 파라미터가 포함되어 있습니다.

해결 방법

lib/common.lib.php 파일을 수정하여 외부 자바스크립트 호출 시 불필요한 파라미터가 붙지 않도록 정규식 코드를 변경합니다. 작업 전 반드시 원본 파일을 백업해 두어야 합니다.

  1. lib/common.lib.php 파일에서 현재 접속자 처리 코드인 // 현재접속자 처리 $tmp_sql = " select count(*) as cnt from {$g5['login_table']} where lo_ip = '{$_SERVER['REMOTE_ADDR']}' "; $tmp_row = sql_fetch($tmp_sql); 구문을 찾은 후 바로 아래에 다음 코드를 추가합니다.
    $http_host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
  2. 버전에 따라 차이가 있는 기존 자바스크립트 버전 추가 정규식 코드를 찾아서 삭제하고 아래와 같이 수정합니다.
    $add_version_str = (stripos($js[1], $http_host) !== false) ? '?ver='.G5_JS_VER : '';
    $js[1] = preg_replace('#\.js([\'"]?>)<\/script>$#i', '.js'.$add_version_str.'$1', $js[1]);

적용 후 점검

코드를 수정한 뒤 웹사이트 페이지 소스 보기를 다시 실행하여 다음 주소 API 호출부에서 파라미터가 정상적으로 제거되었는지 확인합니다. 일반 환경에서는 <script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script> 형태로, HTTPS 환경에서는 <script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script> 형태로 출력되어야 합니다.

댓글목록

등록된 댓글이 없습니다.