common.php를 보면, 오늘 처음 로그인 하는 ip를 mb_login_ip에 기록하게 되어 있습니다.
아침에는 A에서, 점심에서 B에서 로그인 하는 경우,
A에서 로그인한 ip만 알고 있게 되는데, 그게 유효한 정보인가에 대해서 의문이 있습니다.
불당팩에서는 이에 마지막 접속 ip 정보를 mb_login_ip에 남기기로 했습니다.
common.php에서 빨간색 부분의 코드를 추가 했습니다.
$remote_addr은 자주 쓰는 거라서, common.php에서 아래처럼 정의된 것 입니다.
$remote_addr = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
===
// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.
if ($_SESSION['ss_mb_id']) // 로그인중이라면
{
$member = get_member($_SESSION['ss_mb_id']);
if ($_SESSION['ss_mb_id']) // 로그인중이라면
{
$member = get_member($_SESSION['ss_mb_id']);
// 오늘 처음 로그인 이라면
if (substr($member['mb_today_login'], 0, 10) != $g4['time_ymd'])
{
// 첫 로그인 포인트 지급
insert_point($member['mb_id'], $config['cf_login_point'], "{$g4['time_ymd']} 첫로그인", "@login", $member['mb_id'], $g4['time_ymd']);
if (substr($member['mb_today_login'], 0, 10) != $g4['time_ymd'])
{
// 첫 로그인 포인트 지급
insert_point($member['mb_id'], $config['cf_login_point'], "{$g4['time_ymd']} 첫로그인", "@login", $member['mb_id'], $g4['time_ymd']);
// 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음
// 해당 회원의 접근일시와 IP 를 저장
$sql = " update {$g4['member_table']} set mb_today_login = '{$g4['time_ymdhis']}', mb_login_ip = '$remote_addr' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
} else {
// 오늘의 마지막 login_ip와 현재의 로그인 ip가 다르면, 현재의 로그인 ip로 업데이트 한다
if ($member['mb_login_ip'] !== $_SERVER['REMOTE_ADDR']) {
$sql = " update {$g4['member_table']} set mb_login_ip = '$remote_addr' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
}
}
// 해당 회원의 접근일시와 IP 를 저장
$sql = " update {$g4['member_table']} set mb_today_login = '{$g4['time_ymdhis']}', mb_login_ip = '$remote_addr' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
} else {
// 오늘의 마지막 login_ip와 현재의 로그인 ip가 다르면, 현재의 로그인 ip로 업데이트 한다
if ($member['mb_login_ip'] !== $_SERVER['REMOTE_ADDR']) {
$sql = " update {$g4['member_table']} set mb_login_ip = '$remote_addr' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
}
}
- opencode.co.kr -