Emlog에서 CDN 활성화 후 실제 IP를 가져오지 못하는 문제 해결
3,896 0
며칠 전에 「WP에서 CDN 활성화 후 실제 IP를 가져오지 못하는 문제 해결」에 관한 글을 작성했는데, 오늘 우연히 한 사람이 그룹에서 도움을 요청하는 것을 보았습니다. 그는 Emlog 프로그램을 사용하고 있었고, 같은 상황(CDN을 활성화한 후 실제 IP를 가져오지 못하는 문제)을 겪고 있었습니다. 그래서 WordPress의 해결 방법을 Emlog에 적용해 보았는데, 정말 해결할 수 있었습니다. 아래에서 그 과정을 공유하니 참고하시기 바랍니다. 어쩌면 다른 프로그램에서도 문제를 해결할 수 있을지도 모릅니다.

해결 단계
편집기로 include/lib/function.base.php를 열면 60번째 줄쯤에서 다음 코드를 찾을 수 있습니다.
PHP PHP
function getIp() {
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
if (!ip2long($ip)) {
$ip = '';
}
return $ip;
}
다음 코드로 수정합니다.
PHP PHP
function getIp() {
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$ip = $list[0];
}
if (!ip2long($ip)) {
$ip = '';
}
return $ip;
}
주의
위 코드는 Emlog 5.3.1 버전에서만 테스트되었으며, 다른 버전은 직접 테스트해 보시기 바랍니다(이론적으로는 가능합니다).
댓글
(0)아직 댓글이 없습니다