function get_encrypt_string($str) { if (defined('G5_STRING_ENCRYPT_FUNCTION') && G5_STRING_ENCRYPT_FUNCTION) { $encrypt = call_user_func(G5_STRING_ENCRYPT_FUNCTION, $str); } else { $encrypt = sql_password($str); } return $encrypt; }
alert("회원아이디나 패스워드가 공백이면 안됩니다."); } /* // 자동 스크립트를 이용한 공격에 대비하여 로그인 실패시에는 일정시간이 지난후에 다시 로그인 하도록 함 if ($check_time = get_session("ss_login_check_time")) { if ($check_time > $g4['server_time'] - 15) { alert("로그인 실패시에는 15초 이후에 다시 로그인 하시기 바랍니다."); } } set_session("ss_login_check_time", $g4['server_time']); */ $mb = get_member($mb_id); // 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는 // 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다. // 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다. if (!$mb['mb_id'] || sql_password($mb_password) != $mb['mb_password']) { alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다."); } // 차단된 아이디인가? if ($mb['mb_intercept_date'] && $mb['mb_intercept_date'] <= date("Ymd", $g4['server_time'])) { $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']); alert("회원님의 아이디는 접근이 금지되어 있습니다.\\n\\n처리일 : {$date}"); } // 탈퇴한 아이디인가? if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", $g4['server_time'])) { $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_leave_date']); alert("탈퇴한 아이디이므로 접근하실 수 없습니다.\\n\\n탈퇴일 : {$date}"); } if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify'])) { alert("메일인증을 받으셔야 로그인 하실 수 있습니다.\\n\\n회원님의 메일주소는 {$mb['mb_email']} 입니다."); }
} else { if ($member[mb_level] < $mb[mb_level]) { // 자신의 레벨이 크거나 같다면 통과 alert("자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다."); } } } else { if ($member[mb_id]) { if ($member[mb_id] != $write[mb_id]) { alert("자신의 글이 아니므로 삭제할 수 없습니다."); } } else { if ($write[mb_id]) { alert("로그인 후 삭제하세요.", "./login.php?url=" . urlencode("./board.php?bo_table={$bo_table}&wr_id={$wr_id}")); } else { if (sql_password($wr_password) != $write[wr_password]) { alert("패스워드가 틀리므로 삭제할 수 없습니다."); } } } } } } $len = strlen($write[wr_reply]); if ($len < 0) { $len = 0; } $reply = substr($write[wr_reply], 0, $len); // 원글만 구한다. $sql = " select count(*) as cnt from {$write_table}\n where wr_reply like '{$reply}%'\n and wr_id <> '{$write['wr_id']}'\n and wr_num = '{$write['wr_num']}'\n and wr_is_comment = 0 "; $row = sql_fetch($sql);
<?php include_once './_common.php'; // 오류시 공히 Error 라고 처리하는 것은 회원정보가 있는지? 비밀번호가 틀린지? 를 알아보려는 해킹에 대비한것 $mb_no = trim($_GET['mb_no']); $mb_datetime = trim($_GET['mb_datetime']); $mb_lost_certify = trim($_GET['mb_lost_certify']); // 회원아이디가 아닌 회원고유번호로 회원정보를 구한다. $sql = " select mb_id, mb_datetime, mb_lost_certify from {$g5['member_table']} where mb_no = '{$mb_no}' "; $mb = sql_fetch($sql); if (!trim($mb['mb_lost_certify'])) { die("Error"); } // 인증 링크는 한번만 처리가 되게 한다. sql_query(" update {$g5['member_table']} set mb_lost_certify = '' where mb_no = '{$mb_no}' "); // 변경될 비밀번호가 넘어와야하고 저장된 변경비밀번호를 md5 로 변환하여 같으면 정상 if ($mb_lost_certify && $mb_datetime === sql_password($mb['mb_datetime']) && $mb_lost_certify === $mb['mb_lost_certify']) { sql_query(" update {$g5['member_table']} set mb_password = '******'mb_lost_certify']}' where mb_no = '{$mb_no}' "); alert('비밀번호가 변경됐습니다.\\n\\n회원아이디와 변경된 비밀번호로 로그인 하시기 바랍니다.', G5_BBS_URL . '/login.php'); } else { die("Error"); }
if (empty($wr['wr_id'])) { alert("글이 존재하지 않습니다.\\n글이 삭제되었거나 이동하였을 수 있습니다."); } // "인터넷옵션 > 보안 > 사용자정의수준 > 스크립팅 > Action 스크립팅 > 사용 안 함" 일 경우의 오류 처리 // 이 옵션을 사용 안 함으로 설정할 경우 어떤 스크립트도 실행 되지 않습니다. //if (!trim($_POST["wr_content"])) die ("내용을 입력하여 주십시오."); if ($is_member) { $mb_id = $member['mb_id']; // 4.00.13 - 실명 사용일때 댓글에 닉네임으로 입력되던 오류를 수정 $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_password = sql_password($wr_password); } if ($w == 'c') { /* if ($member[mb_point] + $board[bo_comment_point] < 0 && !$is_admin) alert('보유하신 포인트('.number_format($member[mb_point]).')가 없거나 모자라서 댓글쓰기('.number_format($board[bo_comment_point]).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 댓글을 써 주십시오.'); */ // 댓글쓰기 포인트설정시 회원의 포인트가 음수인 경우 댓글을 쓰지 못하던 버그를 수정 (곱슬최씨님) $tmp_point = $member['mb_point'] > 0 ? $member['mb_point'] : 0; if ($tmp_point + $board['bo_comment_point'] < 0 && !$is_admin) { alert('보유하신 포인트(' . number_format($member['mb_point']) . ')가 없거나 모자라서 댓글쓰기(' . number_format($board['bo_comment_point']) . ')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 댓글을 써 주십시오.'); } // 댓글 답변 if ($comment_id) { $sql = " select wr_id, wr_comment, wr_comment_reply from {$write_table}\n where wr_id = '{$comment_id}' "; $reply_array = sql_fetch($sql);
$mb_id = $member['mb_id']; $wr_name = $board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick']; $wr_email = $member['mb_email']; $wr_homepage = $member['mb_homepage']; } else { $mb_id = $wr['mb_id']; $wr_name = $wr['wr_name']; $wr_email = $wr['wr_email']; $wr_homepage = $wr['wr_homepage']; } } else { $mb_id = ""; // 비회원의 경우 이름이 누락되는 경우가 있음 //if (!trim($wr_name)) alert("이름은 필히 입력하셔야 합니다."); } $sql_password = $wr_password ? " , wr_password = '******' " : ""; $sql_ip = ''; if (!$is_admin) { $sql_ip = " , wr_ip = '{$_SERVER['REMOTE_ADDR']}' "; } $sql = " update {$write_table}\n set ca_name = '{$ca_name}',\n wr_option = '{$html},{$secret},{$mail}',\n wr_subject = '{$wr_subject}',\n wr_content = '{$wr_content}',\n wr_link1 = '{$wr_link1}',\n wr_link2 = '{$wr_link2}',\n mb_id = '{$mb_id}',\n wr_name = '{$wr_name}',\n wr_email = '{$wr_email}',\n wr_homepage = '{$wr_homepage}',\n wr_1 = '{$wr_1}',\n wr_2 = '{$wr_2}',\n wr_3 = '{$wr_3}',\n wr_4 = '{$wr_4}',\n wr_5 = '{$wr_5}',\n wr_6 = '{$wr_6}',\n wr_7 = '{$wr_7}',\n wr_8 = '{$wr_8}',\n wr_9 = '{$wr_9}',\n wr_10= '{$wr_10}'\n {$sql_ip}\n {$sql_password}\n where wr_id = '{$wr['wr_id']}' "; sql_query($sql); // 분류가 수정되는 경우 해당되는 코멘트의 분류명도 모두 수정함 // 코멘트의 분류를 수정하지 않으면 검색이 제대로 되지 않음 $sql = " update {$write_table} set ca_name = '{$ca_name}' where wr_parent = '{$wr['wr_id']}' "; sql_query($sql); /* if ($notice) { //if (!preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board['bo_notice'])) if (!in_array((int)$wr_id, $notice_array)) { $bo_notice = $wr_id . ',' . $board['bo_notice'];
if ($w == "u") { if ($is_admin) { alert("관리자의 회원정보는 관리자 화면에서 수정해 주십시오.", $g4['path']); } if (!$member['mb_id']) { alert("로그인 후 이용하여 주십시오.", $g4['path']); } if ($member['mb_id'] != $mb_id) { alert("로그인된 회원과 넘어온 정보가 서로 다릅니다."); } if ($_POST['mb_password']) { // 수정된 정보를 업데이트후 되돌아 온것이라면 패스워드가 암호화 된채로 넘어온것임 if ($_POST['is_update']) { $tmp_password = $_POST['mb_password']; } else { $tmp_password = sql_password($_POST['mb_password']); } if ($member['mb_password'] != $tmp_password) { alert("패스워드가 틀립니다."); } } $g4[title] = "회원 정보 수정"; $member[mb_email] = get_text($member[mb_email]); $member[mb_homepage] = get_text($member[mb_homepage]); $member[mb_password_q] = get_text($member[mb_password_q]); $member[mb_password_a] = get_text($member[mb_password_a]); $member[mb_birth] = get_text($member[mb_birth]); $member[mb_tel] = get_text($member[mb_tel]); $member[mb_hp] = get_text($member[mb_hp]); $member[mb_addr1] = get_text($member[mb_addr1]); $member[mb_addr2] = get_text($member[mb_addr2]);
if ($is_admin == "board") { $mb = get_member($write['mb_id']); if ($member['mb_id'] == $board['bo_admin']) { // 자신이 관리하는 게시판인가? if ($member['mb_level'] >= $mb['mb_level']) { // 자신의 레벨이 크거나 같다면 통과 } else { continue; } } else { continue; } } else { if ($member['mb_id'] && $member['mb_id'] == $write['mb_id']) { } else { if ($wr_password && !$write['mb_id'] && sql_password($wr_password) == $write['wr_password']) { } else { continue; } } } } } // 나머지는 삭제 불가 if ($opt == 'secret') { $sql = " update {$write_table} "; $sql .= " set wr_option = if (wr_option is null, 'secret', concat(wr_option,',secret')) "; $sql .= " where wr_id = '{$write['wr_id']}' "; } else { $sql = " update {$write_table} "; $sql .= " set wr_option = replace(wr_option, 'secret', '') ";
<?php include_once "./_common.php"; // 오류시 공히 Error 라고 처리하는 것은 회원정보가 있는지? 패스워드가 틀린지? 를 알아보려는 해킹에 대비한것 $mb_no = trim($_GET[mb_no]); $mb_datetime = trim($_GET[mb_datetime]); $mb_lost_certify = trim($_GET[mb_lost_certify]); // 회원아이디가 아닌 회원고유번호로 회원정보를 구한다. $sql = " select mb_id, mb_datetime, mb_lost_certify from {$g4['member_table']} where mb_no = '{$mb_no}' "; $mb = sql_fetch($sql); if (!trim($mb[mb_lost_certify])) { die("Error"); } // 인증 링크는 한번만 처리가 되게 한다. sql_query(" update {$g4['member_table']} set mb_lost_certify = '' where mb_no = '{$mb_no}' "); // 변경될 패스워드가 넘어와야하고 저장된 변경패스워드를 md5 로 변환하여 같으면 정상 if ($mb_lost_certify && $mb_datetime === sql_password($mb[mb_datetime]) && $mb_lost_certify === $mb[mb_lost_certify]) { sql_query(" update {$g4['member_table']} set mb_password = '******'mb_lost_certify']}' where mb_no = '{$mb_no}' "); alert("이메일로 보내드린 패스워드로 변경 하였습니다.\\n\\n회원아이디와 변경된 패스워드로 로그인 하시기 바랍니다.", "{$g4['url']}/{$g4['bbs']}/login.php"); } else { die("Error"); }
if (strlen($excerpt) > 255) { $excerpt = cut_str($excerpt, 255); } $msg = ""; // 두번씩 INSERT 되는것을 막기 위해 if ($_POST[title]) { $board = sql_fetch(" select bo_subject, bo_use_trackback from {$g4['board_table']} where bo_table = '{$bo_table}' "); if (!$board[bo_use_trackback]) { $msg = "트랙백 사용이 금지된 게시판입니다."; } if (!$msg) { $next_num = get_next_num($write_table); $sql = " select max(wr_comment) as max_comment from {$write_table} where wr_parent = '{$wr_id}' and wr_is_comment = 1 "; $row = sql_fetch($sql); $row[max_comment] += 1; $sql = " insert into {$g4['write_prefix']}{$bo_table}\n set wr_num = '{$next_num}',\n wr_parent = '{$wr_id}',\n wr_is_comment = '1',\n wr_comment = '{$row['max_comment']}',\n wr_content = '{$title}\n{$excerpt}',\n wr_trackback = '{$_POST['url']}',\n wr_name = '{$_POST['blog_name']}',\n wr_password = '******',\n wr_datetime = '{$g4['time_ymdhis']}',\n wr_ip = '{$_SERVER['REMOTE_ADDR']}' "; $result = sql_query($sql, FALSE); if ($result) { $comment_id = mysql_insert_id(); sql_query(" update {$write_table} set wr_comment = wr_comment + 1 where wr_id = '{$wr_id}' ", FALSE); sql_query(" insert into {$g4['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '{$bo_table}', '{$comment_id}', '{$wr_id}', '{$g4['time_ymdhis']}' ) "); sql_query(" update {$g4['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '{$bo_table}' ", FALSE); } else { $msg = "{$write_table} TABLE INSERT 오류"; } } //write_log("$g4[path]/data/log/aaa", $msg); if ($msg) { echo tb_xml_msg(1, $msg); exit; } else {
alert('동일한 메일주소가 2개 이상 존재합니다.\\n\\n관리자에게 문의하여 주십시오.'); } $sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime from {$g5['member_table']} where mb_email = '{$email}' "; $mb = sql_fetch($sql); if (!$mb['mb_id']) { alert('존재하지 않는 회원입니다.'); } else { if (is_admin($mb['mb_id'])) { alert('관리자 아이디는 접근 불가합니다.'); } } // 난수 발생 srand(time()); $change_password = rand(100000, 999999); $mb_lost_certify = sql_password($change_password); $mb_datetime = sql_password($mb['mb_datetime']); $sql = " update {$g5['member_table']} set mb_lost_certify = '{$mb_lost_certify}' where mb_id = '{$mb['mb_id']}' "; sql_query($sql); $href = G5_BBS_URL . '/password_lost_certify.php?mb_no=' . $mb['mb_no'] . '&mb_datetime=' . $mb_datetime . '&mb_lost_certify=' . $mb_lost_certify; $subject = "[" . $config['cf_title'] . "] 요청하신 회원정보 찾기 안내 메일입니다."; $content = ""; $content .= '<div style="margin:30px auto;width:600px;border:10px solid #f7f7f7">'; $content .= '<div style="border:1px solid #dedede">'; $content .= '<h1 style="padding:30px 30px 0;background:#f7f7f7;color:#555;font-size:1.4em">'; $content .= '회원정보 찾기 안내'; $content .= '</h1>'; $content .= '<span style="display:block;padding:10px 30px 30px;background:#f7f7f7;text-align:right">'; $content .= '<a href="' . G5_URL . '" target="_blank">' . $config['cf_title'] . '</a>'; $content .= '</span>'; $content .= '<p style="margin:20px 0 0;padding:30px 30px 30px;border-bottom:1px solid #eee;line-height:1.7em">'; $content .= addslashes($mb['mb_name']) . " (" . addslashes($mb['mb_nick']) . ")" . " 회원님은 " . G5_TIME_YMDHIS . " 에 회원정보 찾기 요청을 하셨습니다.<br>";
<?php include_once "./_common.php"; if (!$member[mb_id]) { alert("회원만 접근하실 수 있습니다."); } if ($is_admin == "super") { alert("최고 관리자는 탈퇴할 수 없습니다"); } if (!($_POST[mb_password] && $member[mb_password] == sql_password($_POST[mb_password]))) { alert("패스워드가 틀립니다."); } // 회원탈퇴일을 저장 $date = date("Ymd"); $sql = " update {$g4['member_table']} set mb_leave_date = '{$date}' where mb_id = '{$member['mb_id']}' "; sql_query($sql); // 3.09 수정 (로그아웃) session_unregister("ss_mb_id"); if (!$url) { $url = $g4[path]; } alert("{$member[mb_nick]}님께서는 " . date("Y년 m월 d일") . "에 회원에서 탈퇴 하셨습니다.", $url);
$files = glob("{$lightbox_path}/{$wr_id}-*"); array_map('unlink', $files); mw_make_lightbox(); } $write_run_time = mw_time_log($write_run_time, "[write] lightbox"); } // 비회원 이름 쿠키 저장 if (!$is_member) { set_cookie("mw_cookie_name", $wr_name, -1 * $g4[server_time]); set_cookie("mw_cookie_email", $wr_email, -1 * $g4[server_time]); set_cookie("mw_cookie_homepage", $wr_homepage, -1 * $g4[server_time]); } // 열람 패스워드 if ($mw_basic['cf_key_level'] && $mw_basic['cf_key_level'] <= $member['mb_level']) { if ($wr_key_password) { $wr_key_password = sql_password($wr_key_password); sql_query("update {$write_table} set wr_key_password = '******' where wr_id = '{$wr_id}' "); } else { if ($wr_key_password_del) { sql_query("update {$write_table} set wr_key_password = '' where wr_id = '{$wr_id}' "); } } $write_run_time = mw_time_log($write_run_time, "[write] update key_password"); } // 숨김링크 if ($mw_basic['cf_hidden_link'] && $mw_basic['cf_hidden_link'] <= $member['mb_level']) { sql_query("update {$write_table} set wr_hidden_link1 = '{$wr_hidden_link1}' where wr_id = '{$wr_id}' "); sql_query("update {$write_table} set wr_hidden_link2 = '{$wr_hidden_link2}' where wr_id = '{$wr_id}' "); $write_run_time = mw_time_log($write_run_time, "[write] update hidden_link"); } if ($mw_basic['cf_include_write_update'] && is_mw_file($mw_basic['cf_include_write_update'])) {
<?php die("이 프로그램은 더 이상 사용하지 않습니다. 그누보드 4.32.09 를 참고하세요."); include_once "./_common.php"; // 토큰 생성 $token = md5(uniqid(rand(), true)); set_session("ss_token", $token); $norobot_key = substr($token, 0, rand(4, 6)); set_session("ss_norobot_key", $norobot_key); if ($_POST[pass_mb_id]) { $sql = " select mb_id, mb_password_q from {$g4['member_table']} where mb_id = '{$_POST['pass_mb_id']}' "; } else { if ($_POST[mb_name] && $_POST[mb_jumin]) { $sql = " select mb_id, mb_password_q from {$g4['member_table']} where mb_name = '{$_POST['mb_name']}' and mb_jumin = '" . sql_password($_POST[mb_jumin]) . "' "; } else { if ($_POST[mb_name] && $_POST[mb_email]) { $sql = " select mb_id, mb_password_q from {$g4['member_table']} where mb_name = '{$_POST['mb_name']}' and mb_email = '{$_POST['mb_email']}' "; } else { alert("올바른 방법으로 접근하여 주십시오."); } } } $mb = sql_fetch($sql); if (!$mb[mb_id]) { alert("입력하신 내용으로는 회원정보가 존재하지 않습니다."); } else { if (is_admin($mb[mb_id])) { alert("관리자 아이디는 접근 불가합니다."); } } $g4[title] = "패스워드 찾기 2단계";
<?php include_once './_common.php'; if (!$member['mb_id']) { alert('회원만 접근하실 수 있습니다.'); } if ($is_admin == 'super') { alert('최고 관리자는 탈퇴할 수 없습니다'); } if (!($_POST['mb_password'] && $member['mb_password'] == sql_password($_POST['mb_password']))) { alert('비밀번호가 틀립니다.'); } // 회원탈퇴일을 저장 $date = date("Ymd"); $sql = " update {$g5['member_table']} set mb_leave_date = '{$date}' where mb_id = '{$member['mb_id']}' "; sql_query($sql); // 3.09 수정 (로그아웃) session_unregister("ss_mb_id"); if (!$url) { $url = G5_URL; } alert('' . $member['mb_nick'] . '님께서는 ' . date("Y년 m월 d일") . '에 회원에서 탈퇴 하셨습니다.', $url);
alert("회원아이디나 패스워드가 공백이면 안됩니다."); } /* // 자동 스크립트를 이용한 공격에 대비하여 로그인 실패시에는 일정시간이 지난후에 다시 로그인 하도록 함 if ($check_time = get_session("ss_login_check_time")) { if ($check_time > $g4['server_time'] - 15) { alert("로그인 실패시에는 15초 이후에 다시 로그인 하시기 바랍니다."); } } set_session("ss_login_check_time", $g4['server_time']); */ $mb = get_member($mb_id); // 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는 // 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다. // 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다. if (!$mb[mb_id] || sql_password($mb_password) != $mb[mb_password]) { alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다."); } // 차단된 아이디인가? if ($mb[mb_intercept_date] && $mb[mb_intercept_date] <= date("Ymd", $g4[server_time])) { $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb[mb_intercept_date]); alert("회원님의 아이디는 접근이 금지되어 있습니다.\\n\\n처리일 : {$date}"); } // 탈퇴한 아이디인가? if ($mb[mb_leave_date] && $mb[mb_leave_date] <= date("Ymd", $g4[server_time])) { $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb[mb_leave_date]); alert("탈퇴한 아이디이므로 접근하실 수 없습니다.\\n\\n탈퇴일 : {$date}"); } if ($config[cf_use_email_certify] && !preg_match("/[1-9]/", $mb[mb_email_certify])) { alert("메일인증을 받으셔야 로그인 하실 수 있습니다.\\n\\n회원님의 메일주소는 {$mb['mb_email']} 입니다."); }
if ($is_admin == "board") { $mb = get_member($write[mb_id]); if ($member[mb_id] == $board[bo_admin]) { // 자신이 관리하는 게시판인가? if ($member[mb_level] >= $mb[mb_level]) { // 자신의 레벨이 크거나 같다면 통과 } else { continue; } } else { continue; } } else { if ($member[mb_id] && $member[mb_id] == $write[mb_id]) { } else { if ($wr_password && !$write[mb_id] && sql_password($wr_password) == $write[wr_password]) { } else { continue; } } } } } // 나머지는 삭제 불가 $len = strlen($write[wr_reply]); if ($len < 0) { $len = 0; } $reply = substr($write[wr_reply], 0, $len); // 원글만 구한다. $sql = " select count(*) as cnt from {$write_table}\n where wr_reply like '{$reply}%'\n and wr_id <> '{$write['wr_id']}'\n and wr_num = '{$write['wr_num']}'\n and wr_is_comment = 0 ";
} $sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime from {$g4['member_table']} where mb_email = '{$email}' "; $mb = sql_fetch($sql); if (!$mb[mb_id]) { alert("존재하지 않는 회원입니다."); } else { if (is_admin($mb[mb_id])) { alert("관리자 아이디는 접근 불가합니다."); } } // 난수 발생 srand(time()); $randval = rand(4, 6); $change_password = substr(md5(get_microtime()), 0, $randval); $mb_lost_certify = sql_password($change_password); $mb_datetime = sql_password($mb[mb_datetime]); // 회원테이블에 필드를 추가 sql_query(" ALTER TABLE `{$g4['member_table']}` ADD `mb_lost_certify` VARCHAR( 255 ) NOT NULL AFTER `mb_memo` ", false); $sql = " update {$g4['member_table']}\r\n set mb_lost_certify = '{$mb_lost_certify}'\r\n where mb_id = '{$mb['mb_id']}' "; sql_query($sql); $href = "{$g4['url']}/{$g4['bbs']}/password_lost_certify.php?mb_no={$mb['mb_no']}&mb_datetime={$mb_datetime}&mb_lost_certify={$mb_lost_certify}"; $subject = "요청하신 회원아이디/패스워드 정보입니다."; $content = ""; $content .= "<div style='line-height:180%;'>"; $content .= "<p>요청하신 계정정보는 다음과 같습니다.</p>"; $content .= "<hr>"; $content .= "<ul>"; $content .= "<li>회원아이디 : {$mb['mb_id']}</li>"; $content .= "<li>변경 패스워드 : <span style='color:#ff3300; font:13px Verdana;'><strong>{$change_password}</strong></span></li>"; $content .= "<li>이름 : " . addslashes($mb[mb_name]) . "</li>"; $content .= "<li>별명 : " . addslashes($mb[mb_nick]) . "</li>";
<?php include_once "_common.php"; if (!$bo_table or !$wr_id) { die("데이터가 없습니다."); } include_once "{$board_skin_path}/mw.lib/mw.skin.basic.lib.php"; if ($write['wr_key_password'] == sql_password($wr_key_password)) { set_session($ss_key_name . "_" . $write['wr_id'], TRUE); die("ok"); } else { if ($write['mb_id'] and $write['mb_id'] == $member['mb_id']) { set_session($ss_key_name . "_" . $write['wr_id'], TRUE); die("self"); } else { if ($is_admin) { set_session($ss_key_name . "_" . $write['wr_id'], TRUE); die("admin"); } else { die("비밀번호가 올바르지 않습니다."); } } }
$key = get_session("captcha_keystring"); if (!($key && $key == $_POST[wr_key])) { session_unregister("captcha_keystring"); alert_close("정상적인 접근이 아닌것 같습니다."); } $sql = " select mb_id, mb_nick, mb_password_a, mb_email from {$g4['member_table']} where mb_id = '{$_POST['pass_mb_id']}' "; $mb = sql_fetch($sql); if (!$mb[mb_id]) { alert("존재하지 않는 회원입니다."); } else { if ($mb_password_a !== $mb[mb_password_a]) { alert("패스워드 분실 시 답변이 틀립니다."); } else { if (is_admin($mb[mb_id])) { alert("관리자 아이디는 접근 불가합니다."); } } } $g4[title] = "패스워드 찾기 3단계"; include_once "{$g4['path']}/head.sub.php"; // 난수 발생 list($usec, $sec) = explode(" ", microtime()); $seed = (double) $sec + (double) $usec * 100000; srand($seed); $randval = rand(4, 6); $change_password = substr(md5(get_microtime()), 0, $randval); $sql = " update {$g4['member_table']}\n set mb_password = '******'\n where mb_id = '{$mb['mb_id']}' "; sql_query($sql); $member_skin_path = "{$g4['path']}/skin/member/{$config['cf_member_skin']}"; include_once "{$member_skin_path}/password_forget3.skin.php"; include_once "{$g4['path']}/tail.sub.php";
alert("로그인 해주세요."); } if (defined('G5_PATH')) { include_once G5_CAPTCHA_PATH . '/captcha.lib.php'; if (!chk_captcha()) { alert('자동등록방지 숫자가 틀렸습니다.'); } } else { $key = get_session("captcha_keystring"); if (!($key && $key == $_POST[wr_key])) { $_SESSION['captcha_keystring'] = ''; unset($_SESSION['captcha_keystring']); alert('자동등록방지 숫자가 틀렸습니다.'); } } if (substr($member['mb_id'], 0, 1) != '@' and sql_password($mb_password) != $member[mb_password]) { alert("패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다."); } if ($is_admin) { alert("관리자는 탈퇴할 수 없습니다."); } $mb_leave_date = date("Ymd", $g4[server_time]); $mb_memo = $member[mb_memo] . "\n---------------------------\n회원탈퇴사유\n---------------------------\n{$mb_memo}"; if ($member[mb_recommend]) { $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_id = '" . addslashes($member[mb_recommend]) . "' "); $msg = "{$member[mb_id]}님의 회원자료 삭제로 인한 추천인 포인트 반환"; if ($row[cnt]) { insert_point($member[mb_recommend], $config[cf_recommend_point] * -1, $msg, '@member', $member[mb_recommend], "{$member[mb_id]} 추천인 삭제"); } } $sql = "update {$g4['member_table']} set mb_leave_date = '{$mb_leave_date}', mb_level = '1', mb_memo = '{$mb_memo}' where mb_id = '{$member['mb_id']}'";
<?php $sub_menu = "100100"; include_once "./_common.php"; check_demo(); auth_check($auth[$sub_menu], "w"); if ($is_admin != "super") { alert("최고관리자만 접근 가능합니다."); } if ($member[mb_password] != sql_password($_POST['admin_password'])) { alert("패스워드가 다릅니다."); } $mb = get_member($cf_admin); if (!$mb[mb_id]) { alert("최고관리자 회원아이디가 존재하지 않습니다."); } check_token(); $sql = " update {$g4['config_table']}\n set cf_title = '{$_POST['cf_title']}',\n cf_admin = '{$_POST['cf_admin']}',\n cf_use_point = '{$_POST['cf_use_point']}',\n cf_use_norobot = '{$_POST['cf_use_norobot']}',\n cf_use_copy_log = '{$_POST['cf_use_copy_log']}',\n cf_use_email_certify = '{$_POST['cf_use_email_certify']}',\n cf_login_point = '{$_POST['cf_login_point']}',\n cf_cut_name = '{$_POST['cf_cut_name']}',\n cf_nick_modify = '{$_POST['cf_nick_modify']}',\n cf_new_skin = '{$_POST['cf_new_skin']}',\n cf_new_rows = '{$_POST['cf_new_rows']}',\n cf_search_skin = '{$_POST['cf_search_skin']}',\n cf_connect_skin = '{$_POST['cf_connect_skin']}',\n cf_read_point = '{$_POST['cf_read_point']}',\n cf_write_point = '{$_POST['cf_write_point']}',\n cf_comment_point = '{$_POST['cf_comment_point']}',\n cf_download_point = '{$_POST['cf_download_point']}',\n cf_search_bgcolor = '{$_POST['cf_search_bgcolor']}',\n cf_search_color = '{$_POST['cf_search_color']}',\n cf_write_pages = '{$_POST['cf_write_pages']}',\n cf_link_target = '{$_POST['cf_link_target']}',\n cf_delay_sec = '{$_POST['cf_delay_sec']}',\n cf_filter = '{$_POST['cf_filter']}',\n cf_possible_ip = '" . trim($_POST['cf_possible_ip']) . "',\n cf_intercept_ip = '" . trim($_POST['cf_intercept_ip']) . "',\n cf_member_skin = '{$_POST['cf_member_skin']}',\n cf_use_homepage = '{$_POST['cf_use_homepage']}',\n cf_req_homepage = '{$_POST['cf_req_homepage']}',\n cf_use_tel = '{$_POST['cf_use_tel']}',\n cf_req_tel = '{$_POST['cf_req_tel']}',\n cf_use_hp = '{$_POST['cf_use_hp']}',\n cf_req_hp = '{$_POST['cf_req_hp']}',\n cf_use_addr = '{$_POST['cf_use_addr']}',\n cf_req_addr = '{$_POST['cf_req_addr']}',\n cf_use_signature = '{$_POST['cf_use_signature']}',\n cf_req_signature = '{$_POST['cf_req_signature']}',\n cf_use_profile = '{$_POST['cf_use_profile']}',\n cf_req_profile = '{$_POST['cf_req_profile']}',\n cf_register_level = '{$_POST['cf_register_level']}',\n cf_register_point = '{$_POST['cf_register_point']}',\n cf_icon_level = '{$_POST['cf_icon_level']}',\n cf_use_recommend = '{$_POST['cf_use_recommend']}',\n cf_recommend_point = '{$_POST['cf_recommend_point']}',\n cf_leave_day = '{$_POST['cf_leave_day']}',\n cf_search_part = '{$_POST['cf_search_part']}',\n cf_email_use = '{$_POST['cf_email_use']}',\n cf_email_wr_super_admin = '{$_POST['cf_email_wr_super_admin']}',\n cf_email_wr_group_admin = '{$_POST['cf_email_wr_group_admin']}',\n cf_email_wr_board_admin = '{$_POST['cf_email_wr_board_admin']}',\n cf_email_wr_write = '{$_POST['cf_email_wr_write']}',\n cf_email_wr_comment_all = '{$_POST['cf_email_wr_comment_all']}',\n cf_email_mb_super_admin = '{$_POST['cf_email_mb_super_admin']}',\n cf_email_mb_member = '{$_POST['cf_email_mb_member']}',\n cf_email_po_super_admin = '{$_POST['cf_email_po_super_admin']}',\n cf_prohibit_id = '{$_POST['cf_prohibit_id']}',\n cf_prohibit_email = '{$_POST['cf_prohibit_email']}',\n cf_new_del = '{$_POST['cf_new_del']}',\n cf_memo_del = '{$_POST['cf_memo_del']}',\n cf_visit_del = '{$_POST['cf_visit_del']}',\n cf_popular_del = '{$_POST['cf_popular_del']}',\n cf_use_jumin = '{$_POST['cf_use_jumin']}',\n cf_use_member_icon = '{$_POST['cf_use_member_icon']}',\n cf_member_icon_size = '{$_POST['cf_member_icon_size']}',\n cf_member_icon_width = '{$_POST['cf_member_icon_width']}',\n cf_member_icon_height = '{$_POST['cf_member_icon_height']}',\n cf_login_minutes = '{$_POST['cf_login_minutes']}',\n cf_image_extension = '{$_POST['cf_image_extension']}',\n cf_flash_extension = '{$_POST['cf_flash_extension']}',\n cf_movie_extension = '{$_POST['cf_movie_extension']}',\n cf_formmail_is_member = '{$_POST['cf_formmail_is_member']}',\n cf_page_rows = '{$_POST['cf_page_rows']}',\n cf_stipulation = '{$_POST['cf_stipulation']}',\n cf_privacy = '{$_POST['cf_privacy']}',\n cf_open_modify = '{$_POST['cf_open_modify']}',\n cf_memo_send_point = '{$_POST['cf_memo_send_point']}',\n cf_1_subj = '{$_POST['cf_1_subj']}',\n cf_2_subj = '{$_POST['cf_2_subj']}',\n cf_3_subj = '{$_POST['cf_3_subj']}',\n cf_4_subj = '{$_POST['cf_4_subj']}',\n cf_5_subj = '{$_POST['cf_5_subj']}',\n cf_6_subj = '{$_POST['cf_6_subj']}',\n cf_7_subj = '{$_POST['cf_7_subj']}',\n cf_8_subj = '{$_POST['cf_8_subj']}',\n cf_9_subj = '{$_POST['cf_9_subj']}',\n cf_10_subj = '{$_POST['cf_10_subj']}',\n cf_1 = '{$_POST['cf_1']}',\n cf_2 = '{$_POST['cf_2']}',\n cf_3 = '{$_POST['cf_3']}',\n cf_4 = '{$_POST['cf_4']}',\n cf_5 = '{$_POST['cf_5']}',\n cf_6 = '{$_POST['cf_6']}',\n cf_7 = '{$_POST['cf_7']}',\n cf_8 = '{$_POST['cf_8']}',\n cf_9 = '{$_POST['cf_9']}',\n cf_10 = '{$_POST['cf_10']}' "; sql_query($sql); //sql_query(" OPTIMIZE TABLE `$g4[config_table]` "); goto_url("./config_form.php", false);
} else { if ($member['mb_level'] < $mb['mb_level']) { // 자신의 레벨이 크거나 같다면 통과 alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.'); } } } else { if ($member['mb_id']) { if ($member['mb_id'] != $write['mb_id']) { alert('자신의 글이 아니므로 삭제할 수 없습니다.'); } } else { if ($write['mb_id']) { alert('로그인 후 삭제하세요.', './login.php?url=' . urlencode('./board.php?bo_table=' . $bo_table . '&wr_id=' . $wr_id)); } else { if (sql_password($wr_password) != $write['wr_password']) { alert('비밀번호가 틀리므로 삭제할 수 없습니다.'); } } } } } } $len = strlen($write['wr_reply']); if ($len < 0) { $len = 0; } $reply = substr($write['wr_reply'], 0, $len); // 원글만 구한다. $sql = " select count(*) as cnt from {$write_table}\n where wr_reply like '{$reply}%'\n and wr_id <> '{$write['wr_id']}'\n and wr_num = '{$write['wr_num']}'\n and wr_is_comment = 0 "; $row = sql_fetch($sql);
@mkdir(G5_DATA_PATH . '/member/' . $mb_dir, G5_DIR_PERMISSION); @chmod(G5_DATA_PATH . '/member/' . $mb_dir, G5_DIR_PERMISSION); $dest_path = G5_DATA_PATH . '/member/' . $mb_dir . '/' . $mb_id . '.gif'; move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path); chmod($dest_path, G5_FILE_PERMISSION); if (file_exists($dest_path)) { $size = getimagesize($dest_path); // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제 if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) { @unlink($dest_path); } } } } if ($mb_password) { $sql_password = "******" . sql_password($mb_password) . "' "; } else { $sql_password = ""; } if ($passive_certify) { $sql_certify = " , mb_email_certify = '" . G5_TIME_YMDHIS . "' "; } else { $sql_certify = ""; } $sql = " update {$g5['member_table']}\n set {$sql_common}\n {$sql_password}\n {$sql_certify}\n where mb_id = '{$mb_id}' "; sql_query($sql); } else { alert('제대로 된 값이 넘어오지 않았습니다.'); } } goto_url('./member_form.php?' . $qstr . '&w=u&mb_id=' . $mb_id, false);
include_once './_common.php'; check_demo(); auth_check($auth[$sub_menu], 'd'); if ($is_admin != 'super') { alert('최고관리자만 접근 가능합니다.'); } $year = preg_replace('/[^0-9]/', '', $_POST['year']); $month = preg_replace('/[^0-9]/', '', $_POST['month']); $method = $_POST['method']; $pass = trim($_POST['pass']); if (!$pass) { alert('관리자 비밀번호를 입력해 주십시오.'); } // 관리자 비밀번호 비교 $admin = get_admin('super'); if (sql_password($pass) != $admin['mb_password']) { alert('관리자 비밀번호가 일치하지 않습니다.'); } if (!$year) { alert('년도를 선택해 주십시오.'); } if (!$month) { alert('월을 선택해 주십시오.'); } // 로그삭제 query $del_date = $year . '-' . str_pad($month, 2, '0', STR_PAD_LEFT); switch ($method) { case 'before': $sql_common = " where substring(vi_date, 1, 7) < '{$del_date}' "; break; case 'specific':