Ejemplo n.º 1
0
        $error_code = move_uploaded_file($tmp_file, $dest_file) or die($_FILES['bf_file']['error'][$i]);
        // 올라간 파일의 퍼미션을 변경합니다.
        chmod($dest_file, G5_FILE_PERMISSION);
    }
}
if ($w == '' || $w == 'r') {
    if ($member['mb_id']) {
        $mb_id = $member['mb_id'];
        $wr_name = $board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick'];
        $wr_password = $member['mb_password'];
        $wr_email = $member['mb_email'];
        $wr_homepage = $member['mb_homepage'];
    } else {
        $mb_id = '';
        // 비회원의 경우 이름이 누락되는 경우가 있음
        $wr_name = escape_trim($_POST['wr_name']);
        if (!$wr_name) {
            alert('이름은 필히 입력하셔야 합니다.');
        }
        $wr_password = sql_password($wr_password);
    }
    if ($w == 'r') {
        // 답변의 원글이 비밀글이라면 비밀번호는 원글과 동일하게 넣는다.
        if ($secret) {
            $wr_password = $wr['wr_password'];
        }
        $wr_id = $wr_id . $reply;
        $wr_num = $write['wr_num'];
        $wr_reply = $reply;
    } else {
        $wr_num = get_next_num($write_table);
Ejemplo n.º 2
0
<?php

include_once "_common.php";
$qa_1 = escape_trim($_POST['qa_1']);
$sqla = "SELECT\t\t*\r\n\t\tFROM\t\t{$g5['g5_shop_item_table']} \r\n\t\tWHERE\t\t ca_id = '{$qa_1}' and it_use = '1' ";
$rsta = sql_query($sqla);
?>
<option value="">제품선택</option>
<!-- 150908 나진수 사용자 판매 종료 된상품 선택 가능하도록 추가 시작-->
<option value="판매 종료된 상품">판매 종료된 상품</option>
<!-- 150908 나진수 사용자 판매 종료 된상품 선택 가능하도록 추가 끝-->
<?php 
while ($rowaa = mysql_fetch_assoc($rsta)) {
    ?>
<option value="<?php 
    echo $rowaa['it_name'];
    ?>
"><?php 
    echo strip_tags($rowaa['it_name']);
    ?>
</option>
<?php 
}
Ejemplo n.º 3
0
<?php

$sub_menu = '200810';
include_once './_common.php';
include_once G5_PATH . '/lib/visit.lib.php';
auth_check($auth[$sub_menu], 'r');
$g5['title'] = '접속자검색';
include_once './admin.head.php';
include_once G5_PLUGIN_PATH . '/jquery-ui/datepicker.php';
$search_word = escape_trim($_GET['search_word']);
$search_sort = escape_trim($_GET['search_sort']);
$colspan = 5;
$qstr = 'search_word=' . $search_word . '&amp;search_sort=' . $search_sort;
//페이징 처리관련 변수
$listall = '<a href="' . $_SERVER['PHP_SELF'] . '">처음</a>';
//페이지 처음으로 (초기화용도)
?>

<div class="local_sch local_sch01">
    <form name="fvisit" method="get" onsubmit="return fvisit_submit(this);">
    <?php 
echo $listall;
?>
    <label for="sch_sort" class="sound_only">검색분류</label>
    <select name="search_sort" id="sch_sort" class="search_sort">
        <?php 
//echo '<option value="vi_ip" '.($search_sort=='vi_ip'?'selected="selected"':'').'>IP</option>'; //selected 추가
if ($search_sort == 'vi_ip') {
    //select 안의 옵셥값이 vi_ip면
    echo '<option value="vi_ip" selected="selected">IP</option>';
    //selected 추가
Ejemplo n.º 4
0
<?php

define('G5_CAPTCHA', true);
include_once './_common.php';
include_once G5_CAPTCHA_PATH . '/captcha.lib.php';
// 090710
if (substr_count($wr_content, "&#") > 50) {
    alert('내용에 올바르지 않은 코드가 다수 포함되어 있습니다.');
    exit;
}
@(include_once $board_skin_path . '/write_comment_update.head.skin.php');
$w = $_POST["w"];
$wr_name = escape_trim($_POST['wr_name']);
$wr_email = '';
if (!empty($_POST['wr_email'])) {
    $wr_email = escape_trim($_POST['wr_email']);
}
// 비회원의 경우 이름이 누락되는 경우가 있음
if ($is_guest) {
    if ($wr_name == '') {
        alert('이름은 필히 입력하셔야 합니다.');
    }
    if (!chk_captcha()) {
        alert('자동등록방지 숫자가 틀렸습니다.');
    }
}
if ($w == "c" || $w == "cu") {
    if ($member['mb_level'] < $board['bo_comment_level']) {
        alert('댓글을 쓸 권한이 없습니다.');
    }
} else {
Ejemplo n.º 5
0
<?php

include_once './_common.php';
if ($is_guest) {
    alert_close('회원만 조회하실 수 있습니다.');
}
$g5['title'] = get_text($member['mb_nick']) . ' 님의 포인트 내역';
include_once G5_PATH . '/head.sub.php';
$list = array();
$sql_common = " from {$g5['point_table']} where mb_id = '" . escape_trim($member['mb_id']) . "' ";
$sql_order = " order by po_id desc ";
$sql = " select count(*) as cnt {$sql_common} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows);
// 전체 페이지 계산
if ($page < 1) {
    $page = 1;
}
// 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows;
// 시작 열을 구함
include_once $member_skin_path . '/point.skin.php';
include_once G5_PATH . '/tail.sub.php';
Ejemplo n.º 6
0
    exit;
}
// 개별 페이지 접근 불가
// 컴퓨터의 아이피와 쿠키에 저장된 아이피가 다르다면 테이블에 반영함
if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR']) {
    set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400);
    // 하루동안 저장
    $tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g5['visit_table']} ");
    $vi_id = $tmp_row['max_vi_id'] + 1;
    // $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
    $remote_addr = escape_trim($_SERVER['REMOTE_ADDR']);
    $referer = "";
    if (isset($_SERVER['HTTP_REFERER'])) {
        $referer = escape_trim(clean_xss_tags($_SERVER['HTTP_REFERER']));
    }
    $user_agent = escape_trim(clean_xss_tags($_SERVER['HTTP_USER_AGENT']));
    $sql = " insert {$g5['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '" . G5_TIME_YMD . "', '" . G5_TIME_HIS . "', '{$referer}', '{$user_agent}' ) ";
    $result = sql_query($sql, FALSE);
    // 정상으로 INSERT 되었다면 방문자 합계에 반영
    if ($result) {
        $sql = " insert {$g5['visit_sum_table']} ( vs_count, vs_date) values ( 1, '" . G5_TIME_YMD . "' ) ";
        $result = sql_query($sql, FALSE);
        // DUPLICATE 오류가 발생한다면 이미 날짜별 행이 생성되었으므로 UPDATE 실행
        if (!$result) {
            $sql = " update {$g5['visit_sum_table']} set vs_count = vs_count + 1 where vs_date = '" . G5_TIME_YMD . "' ";
            $result = sql_query($sql);
        }
        // INSERT, UPDATE 된건이 있다면 기본환경설정 테이블에 저장
        // 방문객 접속시마다 따로 쿼리를 하지 않기 위함 (엄청난 쿼리를 줄임 ^^)
        // 오늘
        $sql = " select vs_count as cnt from {$g5['visit_sum_table']} where vs_date = '" . G5_TIME_YMD . "' ";
Ejemplo n.º 7
0
<?php

include_once './_common.php';
include_once G5_CAPTCHA_PATH . '/captcha.lib.php';
include_once G5_LIB_PATH . '/mailer.lib.php';
$mb_id = escape_trim($_POST['mb_id']);
$mb_email = escape_trim($_POST['mb_email']);
$sql = " select mb_name, mb_datetime from {$g5['member_table']} where mb_id = '{$mb_id}' and mb_email_certify <> '' ";
$mb = sql_fetch($sql);
if (!$mb) {
    alert("이미 메일인증 하신 회원입니다.", G5_URL);
}
if (!chk_captcha()) {
    alert('자동등록방지 숫자가 틀렸습니다.');
}
$sql = " select count(*) as cnt from {$g5['member_table']} where mb_id <> '{$mb_id}' and mb_email = '{$mb_email}' ";
$row = sql_fetch($sql);
if ($row['cnt']) {
    alert("{$mb_email} 메일은 이미 존재하는 메일주소 입니다.\\n\\n다른 메일주소를 입력해 주십시오.");
}
// 인증메일 발송
$subject = '[' . $config['cf_title'] . '] 인증확인 메일입니다.';
$mb_name = $mb['mb_name'];
$mb_datetime = $mb['mb_datetime'] ? $mb['mb_datetime'] : G5_TIME_YMDHIS;
$mb_md5 = md5($mb_id . $mb_email . $mb_datetime);
$certify_href = G5_BBS_URL . '/email_certify.php?mb_id=' . $mb_id . '&amp;mb_md5=' . $mb_md5;
ob_start();
include_once './register_form_update_mail3.php';
$content = ob_get_contents();
ob_end_clean();
mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
Ejemplo n.º 8
0
<?php

include_once './_common.php';
if (!$is_member) {
    die('0');
}
$uid = escape_trim($_REQUEST['uid']);
$subject = escape_trim(stripslashes($_REQUEST['subject']));
$content = escape_trim(stripslashes($_REQUEST['content']));
if ($subject && $content) {
    $sql = " select count(*) as cnt from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_subject = '{$subject}' and as_content = '{$content}' ";
    $row = sql_fetch($sql);
    if (!$row['cnt']) {
        $sql = " insert into {$g5['autosave_table']} set mb_id = '{$member['mb_id']}', as_uid = '{$uid}', as_subject = '{$subject}', as_content = '{$content}', as_datetime = '" . G5_TIME_YMDHIS . "' on duplicate key update as_subject = '{$subject}', as_content = '{$content}', as_datetime = '" . G5_TIME_YMDHIS . "' ";
        $result = sql_query($sql, false);
        echo autosave_count($member['mb_id']);
    }
}
Ejemplo n.º 9
0
    $qa_hp = preg_replace('/[^0-9\\-]/', '', strip_tags($qa_hp));
}
// 090710
if (substr_count($qa_content, '&#') > 50) {
    alert('내용에 올바르지 않은 코드가 다수 포함되어 있습니다.');
    exit;
}
$upload_max_filesize = ini_get('upload_max_filesize');
if (empty($_POST)) {
    alert("파일 또는 글내용의 크기가 서버에서 설정한 값을 넘어 오류가 발생하였습니다.\\npost_max_size=" . ini_get('post_max_size') . " , upload_max_filesize=" . $upload_max_filesize . "\\n게시판관리자 또는 서버관리자에게 문의 바랍니다.");
}
for ($i = 1; $i <= 5; $i++) {
    $var = "qa_{$i}";
    ${$var} = "";
    if (isset($_POST['qa_' . $i]) && $_POST['qa_' . $i]) {
        ${$var} = escape_trim($_POST['qa_' . $i]);
    }
}
// 1:1문의 설정값
$qaconfig = get_qa_config();
if ($w == 'u' || $w == 'a' || $w == 'r') {
    if ($w == 'a' && !$is_admin) {
        alert('답변은 관리자만 등록할 수 있습니다.');
    }
    $sql = " select * from {$g5['qa_content_table']} where qa_id = '{$qa_id}' ";
    if (!$is_admin) {
        $sql .= " and mb_id = '{$member['mb_id']}' ";
    }
    $write = sql_fetch($sql);
    if ($w == 'u') {
        if (!$write['qa_id']) {
Ejemplo n.º 10
0
<?php

include_once "./_common.php";
include_once G5_LIB_PATH . "/register.lib.php";
$mb_recommend = escape_trim($_POST["reg_mb_recommend"]);
if ($msg = valid_mb_id($mb_recommend)) {
    die("추천인의 아이디는 영문자, 숫자, _ 만 입력하세요.");
}
if (!($msg = exist_mb_id($mb_recommend))) {
    die("입력하신 추천인은 존재하지 않는 아이디 입니다.");
}
Ejemplo n.º 11
0
$mb_addr_jibeon = isset($_POST['mb_addr_jibeon']) ? escape_trim($_POST['mb_addr_jibeon']) : "";
$mb_signature = isset($_POST['mb_signature']) ? escape_trim($_POST['mb_signature']) : "";
$mb_profile = isset($_POST['mb_profile']) ? escape_trim($_POST['mb_profile']) : "";
$mb_recommend = isset($_POST['mb_recommend']) ? escape_trim($_POST['mb_recommend']) : "";
$mb_mailling = isset($_POST['mb_mailling']) ? escape_trim($_POST['mb_mailling']) : "";
$mb_sms = isset($_POST['mb_sms']) ? escape_trim($_POST['mb_sms']) : "";
$mb_1 = isset($_POST['mb_1']) ? escape_trim($_POST['mb_1']) : "";
$mb_2 = isset($_POST['mb_2']) ? escape_trim($_POST['mb_2']) : "";
$mb_3 = isset($_POST['mb_3']) ? escape_trim($_POST['mb_3']) : "";
$mb_4 = isset($_POST['mb_4']) ? escape_trim($_POST['mb_4']) : "";
$mb_5 = isset($_POST['mb_5']) ? escape_trim($_POST['mb_5']) : "";
$mb_6 = isset($_POST['mb_6']) ? escape_trim($_POST['mb_6']) : "";
$mb_7 = isset($_POST['mb_7']) ? escape_trim($_POST['mb_7']) : "";
$mb_8 = isset($_POST['mb_8']) ? escape_trim($_POST['mb_8']) : "";
$mb_9 = isset($_POST['mb_9']) ? escape_trim($_POST['mb_9']) : "";
$mb_10 = isset($_POST['mb_10']) ? escape_trim($_POST['mb_10']) : "";
if ($w == '' || $w == 'u') {
    if ($msg = empty_mb_id($mb_id)) {
        alert($msg, "", true, true);
    }
    // alert($msg, $url, $error, $post);
    if ($w == '' && !$mb_password) {
        alert('비밀번호가 넘어오지 않았습니다.');
    }
    if ($w == '' && $mb_password != $mb_password_re) {
        alert('비밀번호가 일치하지 않습니다.');
    }
    if ($msg = empty_mb_name($mb_id)) {
        alert($msg, "", true, true);
    }
    if ($msg = empty_mb_nick($mb_nick)) {
Ejemplo n.º 12
0
        // 실제 번호를 넘김
        $k = $_POST['chk'][$i];
        if ($is_admin != 'super') {
            $sql = " select count(*) as cnt from {$g5['board_table']} a, {$g5['group_table']} b\n                      where a.gr_id = '{$_POST['gr_id'][$k]}'\n                        and a.gr_id = b.gr_id\n                        and b.gr_admin = '{$member['mb_id']}' ";
            $row = sql_fetch($sql);
            if (!$row['cnt']) {
                alert('최고관리자가 아닌 경우 다른 관리자의 게시판(' . $board_table[$k] . ')은 수정이 불가합니다.');
            }
        }
        $sql = " update {$g5['board_table']}\n                    set gr_id               = '{$_POST['gr_id'][$k]}',\n                        bo_subject          = '{$_POST['bo_subject'][$k]}',\n                        bo_device           = '{$_POST['bo_device'][$k]}',\n                        bo_skin             = '{$_POST['bo_skin'][$k]}',\n                        bo_mobile_skin      = '{$_POST['bo_mobile_skin'][$k]}',\n                        bo_read_point       = '{$_POST['bo_read_point'][$k]}',\n                        bo_write_point      = '{$_POST['bo_write_point'][$k]}',\n                        bo_comment_point    = '{$_POST['bo_comment_point'][$k]}',\n                        bo_download_point   = '{$_POST['bo_download_point'][$k]}',\n                        bo_use_search       = '{$_POST['bo_use_search'][$k]}',\n                        bo_use_sns          = '{$_POST['bo_use_sns'][$k]}',\n                        bo_show_menu        = '{$_POST['bo_show_menu'][$k]}',\n                        bo_order            = '{$_POST['bo_order'][$k]}'\n                  where bo_table            = '{$_POST['board_table'][$k]}' ";
        sql_query($sql);
    }
} else {
    if ($_POST['act_button'] == "선택삭제") {
        if ($is_admin != 'super') {
            alert('게시판 삭제는 최고관리자만 가능합니다.');
        }
        auth_check($auth[$sub_menu], 'd');
        check_token();
        // _BOARD_DELETE_ 상수를 선언해야 board_delete.inc.php 가 정상 작동함
        define('_BOARD_DELETE_', true);
        for ($i = 0; $i < count($_POST['chk']); $i++) {
            // 실제 번호를 넘김
            $k = $_POST['chk'][$i];
            // include 전에 $bo_table 값을 반드시 넘겨야 함
            $tmp_bo_table = escape_trim($_POST['board_table'][$k]);
            include './board_delete.inc.php';
        }
    }
}
goto_url('./board_list.php?' . $qstr);
Ejemplo n.º 13
0
<?php

include_once './_common.php';
$g5['title'] = "로그인 검사";
$mb_id = escape_trim($_POST['mb_id']);
$mb_password = escape_trim($_POST['mb_password']);
if (!trim($mb_id) || !trim($mb_password)) {
    alert('회원아이디나 비밀번호가 공백이면 안됩니다.');
}
$mb = get_member($mb_id);
// 가입된 회원이 아니다. 비밀번호가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
// 회원아이디를 입력해 보고 맞으면 또 비밀번호를 입력해보는 경우를 방지하기 위해서입니다.
// 불법사용자의 경우 회원아이디가 틀린지, 비밀번호가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
if (!$mb['mb_id'] || sql_password($mb_password) != $mb['mb_password']) {
    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
}
// 차단된 아이디인가?
if ($mb['mb_intercept_date'] && $mb['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) {
    $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']);
    alert('회원님의 아이디는 접근이 금지되어 있습니다.\\n처리일 : ' . $date);
}
// 탈퇴한 아이디인가?
if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME)) {
    $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_leave_date']);
    alert('탈퇴한 아이디이므로 접근하실 수 없습니다.\\n탈퇴일 : ' . $date);
}
if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify'])) {
    confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL . '/register_email.php?mb_id=' . $mb_id);
}
@(include_once $member_skin_path . '/login_check.skin.php');
// 회원아이디 세션 생성
Ejemplo n.º 14
0
<?php

$sub_menu = "200100";
include_once "./_common.php";
include_once G5_LIB_PATH . "/register.lib.php";
if ($w == 'u') {
    check_demo();
}
auth_check($auth[$sub_menu], 'w');
check_token();
$mb_id = escape_trim($_POST['mb_id']);
// 휴대폰번호 체크
$mb_hp = $_POST['mb_hp'];
if ($mb_hp) {
    $result = exist_mb_hp($mb_hp, $mb_id);
    if ($result) {
        alert($result);
    }
}
// 인증정보처리
if ($_POST['mb_certify_case'] && $_POST['mb_certify']) {
    $mb_certify = $_POST['mb_certify_case'];
    $mb_adult = $_POST['mb_adult'];
} else {
    $mb_certify = '';
    $mb_adult = 0;
}
$sql_common = "  mb_name = '{$_POST['mb_name']}',\n                 mb_nick = '{$_POST['mb_nick']}',\n                 mb_email = '{$_POST['mb_email']}',\n                 mb_homepage = '{$_POST['mb_homepage']}',\n                 mb_tel = '{$_POST['mb_tel']}',\n                 mb_hp = '{$_POST['mb_hp']}',\n                 mb_certify = '{$mb_certify}',\n                 mb_adult = '{$mb_adult}',\n                 mb_zip1 = '{$_POST['mb_zip1']}',\n                 mb_zip2 = '{$_POST['mb_zip2']}',\n                 mb_addr1 = '{$_POST['mb_addr1']}',\n                 mb_addr2 = '{$_POST['mb_addr2']}',\n                 mb_addr3 = '{$_POST['mb_addr3']}',\n                 mb_addr_jibeon = '{$_POST['mb_addr_jibeon']}',\n                 mb_birth = '{$_POST['mb_birth']}',\n                 mb_sex = '{$_POST['mb_sex']}',\n                 mb_signature = '{$_POST['mb_signature']}',\n                 mb_leave_date = '{$_POST['mb_leave_date']}',\n                 mb_intercept_date='{$_POST['mb_intercept_date']}',\n                 mb_memo = '{$_POST['mb_memo']}',\n                 mb_mailling = '{$_POST['mb_mailling']}',\n                 mb_sms = '{$_POST['mb_sms']}',\n                 mb_open = '{$_POST['mb_open']}',\n                 mb_profile = '{$_POST['mb_profile']}',\n                 mb_level = '{$_POST['mb_level']}',\n                 mb_1 = '{$_POST['mb_1']}',\n                 mb_2 = '{$_POST['mb_2']}',\n                 mb_3 = '{$_POST['mb_3']}',\n                 mb_4 = '{$_POST['mb_4']}',\n                 mb_5 = '{$_POST['mb_5']}',\n                 mb_6 = '{$_POST['mb_6']}',\n                 mb_7 = '{$_POST['mb_7']}',\n                 mb_8 = '{$_POST['mb_8']}',\n                 mb_9 = '{$_POST['mb_9']}',\n                 mb_10 = '{$_POST['mb_10']}' ";
if ($w == '') {
    $mb = get_member($mb_id);
    if ($mb['mb_id']) {
Ejemplo n.º 15
0
<?php

include_once './_common.php';
include_once G5_LIB_PATH . '/register.lib.php';
$mb_id = escape_trim($_POST['reg_mb_id']);
if ($msg = empty_mb_id($mb_id)) {
    die($msg);
}
if ($msg = valid_mb_id($mb_id)) {
    die($msg);
}
if ($msg = count_mb_id($mb_id)) {
    die($msg);
}
if ($msg = exist_mb_id($mb_id)) {
    die($msg);
}
if ($msg = reserve_mb_id($mb_id)) {
    die($msg);
}
Ejemplo n.º 16
0
    $bo_table = '';
}
// URL ENCODING
if (isset($_REQUEST['url'])) {
    $url = escape_trim($_REQUEST['url']);
    $urlencode = urlencode($url);
} else {
    $url = '';
    $urlencode = urlencode($_SERVER['REQUEST_URI']);
    if (G5_DOMAIN) {
        $p = parse_url(G5_DOMAIN);
        $urlencode = G5_DOMAIN . urldecode(preg_replace("/^" . urlencode($p['path']) . "/", "", $urlencode));
    }
}
if (isset($_REQUEST['gr_id'])) {
    $gr_id = escape_trim($_REQUEST['gr_id']);
} else {
    $gr_id = '';
}
//===================================
// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.
if ($_SESSION['ss_mb_id']) {
    // 로그인중이라면
    $member = get_member($_SESSION['ss_mb_id']);
    // 오늘 처음 로그인 이라면
    if (substr($member['mb_today_login'], 0, 10) != G5_TIME_YMD) {
        // 첫 로그인 포인트 지급
        insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD . ' 첫로그인', '@login', $member['mb_id'], G5_TIME_YMD);
        // 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음
        // 해당 회원의 접근일시와 IP 를 저장
        $sql = " update {$g5['member_table']} set mb_today_login = '******', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' ";
Ejemplo n.º 17
0
    exit;
}
// 개별 페이지 접근 불가
// 컴퓨터의 아이피와 쿠키에 저장된 아이피가 다르다면 테이블에 반영함
if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR']) {
    set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400);
    // 하루동안 저장
    $tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g5['visit_table']} ");
    $vi_id = $tmp_row['max_vi_id'] + 1;
    // $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
    $remote_addr = escape_trim($_SERVER['REMOTE_ADDR']);
    $referer = "";
    if (isset($_SERVER['HTTP_REFERER'])) {
        $referer = escape_trim($_SERVER['HTTP_REFERER']);
    }
    $user_agent = escape_trim($_SERVER['HTTP_USER_AGENT']);
    $sql = " insert {$g5['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '" . G5_TIME_YMD . "', '" . G5_TIME_HIS . "', '{$referer}', '{$user_agent}' ) ";
    $result = sql_query($sql, FALSE);
    // 정상으로 INSERT 되었다면 방문자 합계에 반영
    if ($result) {
        $sql = " insert {$g5['visit_sum_table']} ( vs_count, vs_date) values ( 1, '" . G5_TIME_YMD . "' ) ";
        $result = sql_query($sql, FALSE);
        // DUPLICATE 오류가 발생한다면 이미 날짜별 행이 생성되었으므로 UPDATE 실행
        if (!$result) {
            $sql = " update {$g5['visit_sum_table']} set vs_count = vs_count + 1 where vs_date = '" . G5_TIME_YMD . "' ";
            $result = sql_query($sql);
        }
        // INSERT, UPDATE 된건이 있다면 기본환경설정 테이블에 저장
        // 방문객 접속시마다 따로 쿼리를 하지 않기 위함 (엄청난 쿼리를 줄임 ^^)
        // 오늘
        $sql = " select vs_count as cnt from {$g5['visit_sum_table']} where vs_date = '" . G5_TIME_YMD . "' ";