겸손한 javascript 로 수정중

This commit is contained in:
gnuboard
2013-01-14 17:25:50 +09:00
parent 49036302da
commit 39cafe9ffc
19 changed files with 649 additions and 772 deletions

View File

@ -1,4 +1,5 @@
<?php
define('_CAPTCHA_', 1);
include_once("./_common.php");
echo chk_captcha();

View File

@ -11,7 +11,7 @@ if ((isset($p['scheme']) && $p['scheme']) ||
}
// 이미 로그인 중이라면
if ($member['mb_id']) {
if ($is_member) {
if ($url)
goto_url($url);
else
@ -23,6 +23,31 @@ if ($url)
else
$urlencode = urlencode($_SERVER['REQUEST_URI']);
if ($g4['https_url']) {
$login_url = $_GET['url'];
if ($login_url) {
if (preg_match("/^\.\.\//", $url)) {
$login_url = urlencode($g4['url']."/".preg_replace("/^\.\.\//", "", $login_url));
} else {
$purl = parse_url($g4['url']);
if ($purl['path']) {
$path = urlencode($purl['path']);
$urlencode = preg_replace("/".$path."/", "", $urlencode);
}
$login_url = $g4[url].$urlencode;
}
} else {
$login_url = $g4[url];
}
} else {
$login_url = $urlencode;
}
if ($g4['https_url'])
$login_action_url = "{$g4['https_url']}/$g4[bbs]/login_check.php";
else
$login_action_url = "{$g4['bbs_url']}/login_check.php";
$member_skin_path = $g4['path'].'/skin/member/'.$config['cf_member_skin'];
include_once($member_skin_path.'/login.skin.php');

View File

@ -1,24 +0,0 @@
<?
die('이 프로그램은 더 이상 사용하지 않습니다. 그누보드 4.32.09 를 참고하세요.');
include_once('./_common.php');
if ($member[mb_id])
{
echo <<<HEREDOC
<script>
alert('이미 로그인중입니다.');
window.close();
opener.document.location.reload();
</script>
HEREDOC;
exit;
}
$g4['title'] = '회원아이디/패스워드 찾기';
include_once($g4['path'].'/head.sub.php');
$member_skin_path = $g4['path'].'/skin/member/'.$config[cf_member_skin];
include_once($member_skin_path.'/password_forget.skin.php');
include_once($g4['path'].'/tail.sub.php');
?>

View File

@ -1,36 +0,0 @@
<?
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단계';
include_once($g4['path'].'/head.sub.php');
// 081022 : CSRF 보안 결함으로 인한 코드 수정
$mb[mb_password_q] = get_text($mb[mb_password_q]);
$member_skin_path = $g4['path'].'/skin/member/'.$config[cf_member_skin];
include_once($member_skin_path.'/password_forget2.skin.php');
include_once($g4['path'].'/tail.sub.php');
?>

View File

@ -1,46 +0,0 @@
<?
die("이 프로그램은 더 이상 사용하지 않습니다. 그누보드 4.32.09 를 참고하세요.");
include_once('./_common.php');
/*
$wr_key = trim($_POST[wr_key]);
if (!($wr_key && $wr_key == get_session('ss_norobot_key'))) {
alert('정상적인 접근이 아닌것 같습니다.');
}
*/
$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 = (float)$sec + ((float)$usec * 100000);
srand($seed);
$randval = rand(4, 6);
$change_password = substr(md5(get_microtime()), 0, $randval);
$sql = " update {$g4[member_table]}
set mb_password = '".sql_password($change_password)."'
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');
?>

View File

@ -1,22 +1,20 @@
<?
define('_CAPTCHA_', 1);
include_once('./_common.php');
if ($member[mb_id])
{
?>
<script>
alert('이미 로그인중입니다.');
window.close();
opener.document.location.reload();
</script>
<?
exit;
if ($is_member) {
alert("이미 로그인중입니다.");
}
$g4['title'] = '회원아이디/패스워드 찾기';
include_once($g4['path'].'/head.sub.php');
$member_skin_path = $g4['path'].'/skin/member/'.$config[cf_member_skin];
if ($g4['https_url'])
$action_url = "{$g4['https_url']}/{$g4['bbs']}/password_lost2.php";
else
$action_url = "{$g4['bbs_url']}/password_lost2.php";
$member_skin_path = $g4['path'].'/skin/member/'.$config['cf_member_skin'];
include_once($member_skin_path.'/password_lost.skin.php');
include_once($g4['path'].'/tail.sub.php');

View File

@ -1,23 +1,14 @@
<?
define('_CAPTCHA_', 1);
include_once('./_common.php');
include_once($g4['path'].'/lib/mailer.lib.php');
if ($member[mb_id])
{
?>
<script>
alert('이미 로그인중입니다.');
window.close();
opener.document.location.reload();
</script>
<?
exit;
if ($is_member) {
alert("이미 로그인중입니다.");
}
$key = get_session("captcha_keystring");
if (!($key && $key == $_POST[wr_key])) {
session_unregister("captcha_keystring");
alert_close('정상적인 접근이 아닌것 같습니다.');
if (!chk_captcha()) {
alert('스팸방지에 입력한 숫자가 틀렸습니다.');
}
$email = trim($_POST['mb_email']);
@ -25,16 +16,16 @@ $email = trim($_POST['mb_email']);
if (!$email)
alert_close('메일주소 오류입니다.');
$sql = " select count(*) as cnt from {$g4[member_table]} where mb_email = '{$email}' ";
$sql = " select count(*) as cnt from {$g4['member_table']} where mb_email = '{$email}' ";
$row = sql_fetch($sql);
if ($row[cnt] > 1)
if ($row['cnt'] > 1)
alert('동일한 메일주소가 2개 이상 존재합니다.\n\n관리자에게 문의하여 주십시오.');
$sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime from {$g4[member_table]} where mb_email = '{$email}' ";
$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])
if (!$mb['mb_id'])
alert('존재하지 않는 회원입니다.');
else if (is_admin($mb[mb_id]))
else if (is_admin($mb['mb_id']))
alert('관리자 아이디는 접근 불가합니다.');
// 난수 발생

View File

@ -1,72 +1,70 @@
<?
include_once('./_common.php');
$po = sql_fetch(" select * from {$g4[poll_table]} where po_id = '{$po_id}' ");
if (!$po[po_id])
alert_close('설문조사 정보가 없습니다.');
$po = sql_fetch(" select * from {$g4['poll_table']} where po_id = '{$po_id}' ");
if (!$po['po_id'])
alert('설문조사 정보가 없습니다.');
$g4['title'] = '설문조사 결과';
$po_subject = $po[po_subject];
$po_subject = $po['po_subject'];
$max = 1;
$total_po_cnt = 0;
for ($i=1; $i<=9; $i++)
{
for ($i=1; $i<=9; $i++) {
$poll = $po['po_poll'.$i];
if ($poll == '') { break; }
$total_po_cnt += $po[po_cnt.$i];
if ($poll == '') break;
if ($po[po_cnt.$i] > $max)
$max = $po[po_cnt.$i];
$count = $po['po_cnt'.$i];
$total_po_cnt += $count;
if ($count > $max)
$max = $count;
}
$nf_total_po_cnt = number_format($total_po_cnt);
$list = array();
for ($i=1; $i<=9; $i++)
{
for ($i=1; $i<=9; $i++) {
$poll = $po['po_poll'.$i];
if ($poll == '') { break; }
$list[$i][content] = $poll;
$list[$i][cnt] = $po[po_cnt.$i];
$list[$i]['content'] = $poll;
$list[$i]['cnt'] = $po['po_cnt'.$i];
if ($total_po_cnt > 0)
$list[$i][rate] = ($list[$i][cnt] / $total_po_cnt) * 100;
$list[$i]['rate'] = ($list[$i]['cnt'] / $total_po_cnt) * 100;
$bar = (int)($list[$i][cnt] / $max * 100);
$bar = (int)($list[$i]['cnt'] / $max * 100);
$list[$i][bar] = $bar;
$list[$i][num] = $i;
$list[$i]['bar'] = $bar;
$list[$i]['num'] = $i;
}
$list2 = array();
// 기타의견 리스트
$sql = " select a.*, b.mb_open
from {$g4[poll_etc_table]} a
left join {$g4[member_table]} b on (a.mb_id = b.mb_id)
from {$g4['poll_etc_table']} a
left join {$g4['member_table']} b on (a.mb_id = b.mb_id)
where po_id = '{$po_id}' order by pc_id desc ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$list2[$i][name] = get_sideview($row[mb_id], cut_str($row[pc_name],10), '', '', $row[mb_open]);
$list2[$i][idea] = get_text(cut_str($row[pc_idea], 255));
$list2[$i][datetime] = $row[pc_datetime];
for ($i=0; $row=sql_fetch_array($result); $i++) {
$list2[$i]['name'] = get_sideview($row['mb_id'], cut_str($row['pc_name'],10), '', '', $row['mb_open']);
$list2[$i]['idea'] = get_text(cut_str($row['pc_idea'], 255));
$list2[$i]['datetime'] = $row['pc_datetime'];
$list2[$i][del] = '';
if ($is_admin == 'super' || ($row[mb_id] == $member[mb_id] && $row[mb_id]))
$list2[$i][del] = '<a href="javascript:del(\'./poll_etc_update.php?w=d&amp;pc_id='.$row[pc_id].'&amp;po_id='.$po_id.'\');">';
$list2[$i]['del'] = '';
if ($is_admin == 'super' || ($row['mb_id'] == $member['mb_id'] && $row['mb_id']))
$list2[$i]['del'] = '<a href="'.$g4['bbs_url'].'/poll_etc_update.php?w=d&amp;pc_id='.$row['pc_id'].'&amp;po_id='.$po_id.'\');">';
}
// 기타의견 입력
$is_etc = false;
if ($po[po_etc])
{
if ($po['po_etc']) {
$is_etc = true;
$po_etc = $po[po_etc];
if ($member[mb_id])
$name = '<b>'.$member[mb_nick].'</b> <input type="hidden" name="pc_name" value="'.$member[mb_nick].'">';
$po_etc = $po['po_etc'];
if ($member['mb_id'])
$name = '<b>'.$member['mb_nick'].'</b> <input type="hidden" name="pc_name" value="'.$member['mb_nick'].'">';
else
$name = '<input type="text" name="pc_name" size="10" class="input" required>';
}
@ -74,20 +72,19 @@ if ($po[po_etc])
$list3 = array();
// 다른투표
$sql = " select po_id, po_subject, po_date from {$g4[poll_table]} order by po_id desc ";
$sql = " select po_id, po_subject, po_date from {$g4['poll_table']} order by po_id desc ";
$result = sql_query($sql);
for ($i=0; $row2=sql_fetch_array($result); $i++)
{
$list3[$i][po_id] = $row2[po_id];
$list3[$i][date] = substr($row2[po_date],2,8);
$list3[$i][subject] = cut_str($row2[po_subject],60,"");
for ($i=0; $row2=sql_fetch_array($result); $i++) {
$list3[$i]['po_id'] = $row2['po_id'];
$list3[$i]['date'] = substr($row2['po_date'],2,8);
$list3[$i]['subject'] = cut_str($row2['po_subject'],60,"");
}
include_once($g4['path'].'/head.sub.php');
echo '<script src="'.$g4['path'].'/js/sideview.js"></script>';
if (!$skin_dir) $skin_dir = 'basic';
$skin_dir = isset($_GET['skin_dir']) ? $_GET['skin_dir'] : 'basic';
$poll_skin_path = $g4['path'].'/skin/poll/'.$skin_dir;
if (!file_exists($poll_skin_path.'/poll_result.skin.php')) die('skin error');
include_once ($poll_skin_path.'/poll_result.skin.php');

View File

@ -1,23 +1,20 @@
<?
include_once('./_common.php');
$po = sql_fetch(" select * from {$g4[poll_table]} where po_id = '{$_POST[po_id]}' ");
if (!$po[po_id])
alert_close('po_id 값이 제대로 넘어오지 않았습니다.');
$po = sql_fetch(" select * from {$g4['poll_table']} where po_id = '{$_POST['po_id']}' ");
if (!$po['po_id'])
alert('po_id 값이 제대로 넘어오지 않았습니다.');
if ($member[mb_level] < $po[po_level])
alert_close('권한 '.$po[po_level].' 이상 회원만 투표에 참여하실 수 있습니다.');
if ($member['mb_level'] < $po['po_level'])
alert_close('권한 '.$po['po_level'].' 이상 회원만 투표에 참여하실 수 있습니다.');
// 쿠키에 저장된 투표번호가 없다면
if (get_cookie('ck_po_id') != $po[po_id])
{
if (get_cookie('ck_po_id') != $po['po_id']) {
// 투표했던 ip들 중에서 찾아본다
$search_ip = false;
$ips = explode(',', trim($po[po_ips]));
for ($i=0; $i<count($ips); $i++)
{
if ($_SERVER[REMOTE_ADDR] == trim($ips[$i]))
{
$ips = explode(',', trim($po['po_ips']));
for ($i=0; $i<count($ips); $i++) {
if ($_SERVER['REMOTE_ADDR'] == trim($ips[$i])) {
$search_ip = true;
break;
}
@ -25,13 +22,10 @@ if (get_cookie('ck_po_id') != $po[po_id])
// 투표했던 회원아이디들 중에서 찾아본다
$search_mb_id = false;
if ($is_member)
{
$ids = explode(',', trim($po[mb_ids]));
for ($i=0; $i<count($ids); $i++)
{
if ($member[mb_id] == trim($ids[$i]))
{
if ($is_member) {
$ids = explode(',', trim($po['mb_ids']));
for ($i=0; $i<count($ids); $i++) {
if ($member['mb_id'] == trim($ids[$i])) {
$search_mb_id = true;
break;
}
@ -39,20 +33,20 @@ if (get_cookie('ck_po_id') != $po[po_id])
}
// 없다면 선택한 투표항목을 1증가 시키고 ip, id를 저장
if (!($search_ip || $search_mb_id))
{
$po_ips = $po[po_ips] . $_SERVER[REMOTE_ADDR].",";
$mb_ids = $po[mb_ids];
if ($member[mb_id])
$mb_ids .= $member[mb_id].',';
sql_query(" update {$g4[poll_table]} set po_cnt{$gb_poll} = po_cnt{$gb_poll} + 1, po_ips = '{$po_ips}', mb_ids = '{$mb_ids}' where po_id = '{$po_id}' ");
if (!($search_ip || $search_mb_id)) {
$po_ips = $po['po_ips'] . $_SERVER['REMOTE_ADDR'].",";
$mb_ids = $po['mb_ids'];
if ($member['mb_id'])
$mb_ids .= $member['mb_id'].',';
sql_query(" update {$g4['poll_table']} set po_cnt{$gb_poll} = po_cnt{$gb_poll} + 1, po_ips = '{$po_ips}', mb_ids = '{$mb_ids}' where po_id = '{$po_id}' ");
}
if (!$search_mb_id)
insert_point($member[mb_id], $po[po_point], $po[po_id] . '. ' . cut_str($po[po_subject],20) . ' 투표 참여 ', '{@poll}', $po[po_id], '투표');
insert_point($member['mb_id'], $po['po_point'], $po['po_id'] . '. ' . cut_str($po['po_subject'],20) . ' 투표 참여 ', '{@poll}', $po['po_id'], '투표');
}
set_cookie('ck_po_id', $po[po_id], 86400 * 15); // 투표 쿠키 보름간 저장
set_cookie('ck_po_id', $po['po_id'], 86400 * 15); // 투표 쿠키 보름간 저장
goto_url('./poll_result.php?po_id='.$po_id.'&amp;skin_dir='.$skin_dir);
//goto_url($g4['bbs_url'].'/poll_result.php?po_id='.$po_id.'&amp;skin_dir='.$skin_dir);
goto_url("{$g4['bbs_url']}/poll_result.php?po_id=$po_id&skin_dir={$_POST['skin_dir']}");
?>