그누보드 [G5] 방문자 실제 사용하는 IP(Real IP) 사용하기
페이지 정보
본문
방문자의 Real IP 를 저장하는 방법입니다.
단, 웹방화벽(예를 들면 Palo Alto )이 웹서버 앞단에서 막는 경우에는 프록시 서버에서 사전에 설정된 IP 가 표시 됩니다.
1. 그누보드5 / extend / real_ip.extend.php 신규문서
<?php
if (!defined('_GNUBOARD_')) exit;
function getUserRealIP()
{
// Get real visitor IP behind CloudFlare network
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
$_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$getUserRealIP = getUserRealIP();
?>
2. 그누보드5 / bbs / register_form_update.php 222줄 , 224줄
$_SERVER['REMOTE_ADDR'] 를 $getUserRealIP 로 변경
3. 그누보드5 / bbs / write_update.php 281줄 , 382즐 , 573줄
$_SERVER['REMOTE_ADDR'] 를 $getUserRealIP 로 변경
4. 그누보드5 / bbs / write_comment.update.php 166줄 , 308줄
$_SERVER['REMOTE_ADDR'] 를 $getUserRealIP 로 변경
단, 웹방화벽(예를 들면 Palo Alto )이 웹서버 앞단에서 막는 경우에는 프록시 서버에서 사전에 설정된 IP 가 표시 됩니다.
1. 그누보드5 / extend / real_ip.extend.php 신규문서
<?php
if (!defined('_GNUBOARD_')) exit;
function getUserRealIP()
{
// Get real visitor IP behind CloudFlare network
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
$_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$getUserRealIP = getUserRealIP();
?>
2. 그누보드5 / bbs / register_form_update.php 222줄 , 224줄
$_SERVER['REMOTE_ADDR'] 를 $getUserRealIP 로 변경
3. 그누보드5 / bbs / write_update.php 281줄 , 382즐 , 573줄
$_SERVER['REMOTE_ADDR'] 를 $getUserRealIP 로 변경
4. 그누보드5 / bbs / write_comment.update.php 166줄 , 308줄
$_SERVER['REMOTE_ADDR'] 를 $getUserRealIP 로 변경
댓글목록
등록된 댓글이 없습니다.