Merge branch 'master' into sns

Conflicts:
	bbs/register_form_update.php
	config.php
	extend/.htaccess
	plugin/kcp/kcpcert.head.skin.php
	skin/board/basic/view_comment.skin.php
This commit is contained in:
gnuboard
2013-05-21 16:06:07 +09:00
121 changed files with 1707 additions and 1874 deletions

View File

@ -1,4 +0,0 @@
<Files ~ "*">
Order allow,deny
Deny from all
</Files>

View File

@ -1,25 +0,0 @@
<?php
include_once('./_common.php');
$w = trim($_POST['w']);
$reg_hp = preg_replace("/[^0-9]/", "", trim($_POST['mb_hp'])); // 숫자외에 문자는 제거
$old_hp = preg_replace("/[^0-9]/", "", trim($_POST['old_mb_hp']));
if ($w!='' && $w!='u') die("{\"error\":\"w 작업구분 오류\"}");
if ($w=='' || ($w=='u' && $reg_hp != $old_hp)) {
// 본인인증체크
$kcpcert_no = get_session('ss_kcpcert_no');
if(!$kcpcert_no)
die("{\"error\":\"휴대폰인증이 되지 않았습니다. 휴대폰인증을 해주세요.\"}");
// 본인인증 hash 체크
$reg_name = trim($_POST['mb_name']);
$reg_hash = md5($reg_hp.$reg_name.$kcpcert_no);
$ss_hash = get_session('ss_kcpcert_hash');
if(get_session('ss_kcpcert_hash') != $reg_hash)
die("{\"error\":\"이름 또는 휴대폰번호가 올바르지 않습니다.\\n\\n정상적인 방법으로 이용해 주세요.\"}");
}
die("{\"error\":\"\"}"); // 정상
?>

View File

@ -1,29 +0,0 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 휴대폰번호 포맷(010-0000-0000) 변경해서 기록
// $reg_mb_hp 는 rigister_form_update.head.skin.php 파일
$sql = " update {$g4['member_table']}
set mb_hp = '$reg_mb_hp'
where mb_id = '$mb_id' ";
sql_query($sql);
/* =========================================================================== */
/* = 휴대폰인증 및 성인인증 = */
/* =========================================================================== */
if(get_session('ss_kcpcert_no')) {
$mb_adult = 'N';
if(get_session('ss_adult_check') == 'Y')
$mb_adult = 'Y';
$mb_hp_certify = get_session('ss_kcpcert_time');
$sql = " update {$g4['member_table']}
set mb_hp_certify = '$mb_hp_certify',
mb_adult = '$mb_adult'
where mb_id = '$mb_id' ";
sql_query($sql);
}
/* =========================================================================== */
//set_session('ss_adult_check', '');
?>

View File

@ -1,148 +0,0 @@
<?php
include_once('./kcpcert_config.php');
// utf-8로 넘어돈 post 값을 euc-kr 로 변경
$_POST = array_map('iconv_euckr', $_POST);
// UTF-8 환경에서 해시 데이터 오류를 막기 위한 코드
$def_locale = setlocale(LC_CTYPE, 0);
$locale_change = false;
if(preg_match('/utf[\-]?8/i', $def_locale)) {
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
$locale_change = true;
}
$req_tx = "";
$site_cd = "";
$ordr_idxx = "";
$year = "";
$month = "";
$day = "";
$user_name = "";
$sex_code = "";
$local_code = "";
$up_hash = "";
/*------------------------------------------------------------------------*/
/* :: 전체 파라미터 남기기 */
/*------------------------------------------------------------------------*/
$ct_cert = new C_CT_CLI;
$ct_cert->mf_clear();
// request 로 넘어온 값 처리
$key = array_keys($_POST);
$sbParam ="";
for($i=0; $i<count($key); $i++)
{
$nmParam = $key[$i];
$valParam = $_POST[$nmParam];
if ( $nmParam == "site_cd" )
{
$site_cd = f_get_parm_str ( $valParam );
}
if ( $nmParam == "req_tx" )
{
$req_tx = f_get_parm_str ( $valParam );
}
if ( $nmParam == "ordr_idxx" )
{
$ordr_idxx = f_get_parm_str ( $valParam );
}
if ( $nmParam == "user_name" )
{
$user_name = f_get_parm_str ( $valParam );
}
if ( $nmParam == "year" )
{
$year = f_get_parm_int ( $valParam );
}
if ( $nmParam == "month" )
{
$month = f_get_parm_int ( $valParam );
}
if ( $nmParam == "day" )
{
$day = f_get_parm_int ( $valParam );
}
if ( $nmParam == "sex_code" )
{
$sex_code = f_get_parm_str ( $valParam );
}
if ( $nmParam == "local_code" )
{
$local_code = f_get_parm_str ( $valParam );
}
// 인증창으로 넘기는 form 데이터 생성 필드
$sbParam .= "<input type='hidden' name='" . $nmParam . "' value='" . f_get_parm_str( $valParam ) . "'/>";
}
if ( $req_tx == "cert" )
{
// !!up_hash 데이터 생성시 주의 사항
// year , month , day 가 비어 있는 경우 "00" , "00" , "00" 으로 설정이 됩니다
// 그외의 값은 없을 경우 ""(null) 로 세팅하시면 됩니다.
// up_hash 데이터 생성시 site_cd 와 ordr_idxx 는 필수 값입니다.
$hash_data = $site_cd .
$ordr_idxx .
$user_name .
f_get_parm_int ( $year ) .
f_get_parm_int ( $month ) .
f_get_parm_int ( $day ) .
$sex_code .
$local_code;
$up_hash = $ct_cert->make_hash_data( $home_dir, $hash_data );
// 인증창으로 넘기는 form 데이터 생성 필드 ( up_hash )
$sbParam .= "<input type='hidden' name='up_hash' value='" . $up_hash . "'/>";
}
$ct_cert->mf_clear();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title>*** KCP Online Payment System [PHP Version] ***</title>
<script type="text/javascript">
window.onload=function()
{
var frm = document.form_auth;
// 인증 요청 시 호출 함수
if ( frm.req_tx.value == "cert" )
{
opener.document.form_auth.veri_up_hash.value = frm.up_hash.value; // up_hash 데이터 검증을 위한 필드
frm.action="<?php echo $cert_url ?>";
frm.submit();
}
}
</script>
</head>
<body oncontextmenu="return false;" ondragstart="return false;" onselectstart="return false;">
<form name="form_auth" method="post">
<?php echo $sbParam ?>
</form>
</body>
</html>
<?php
if($locale_change)
setlocale(LC_CTYPE, $def_locale);
?>

View File

@ -2,7 +2,7 @@
include_once('./_common.php');
// 서버상 bin 폴더 이전까지 경로
$home_dir = G4_KCP_PATH; // ct_cli 절대경로 ( bin 전까지 )
$home_dir = G4_KCPCERT_PATH; // ct_cli 절대경로 ( bin 전까지 )
// DI 를 위한 중복확인 식별 아이디
//web_siteid 값이 없으면 KCP 에서 지정한 값으로 설정됨
@ -23,7 +23,7 @@ if(!$site_cd)
alert('KCP 휴대폰 본인확인 서비스 사이트코드가 없습니다.\\관리자 > 기본환경설정에 KCP 사이트코드를 입력해 주십시오.', G4_URL);
// KCP 인증 라이브러리
require G4_KCP_PATH.'/lib/ct_cli_lib.php';
require G4_KCPCERT_PATH.'/lib/ct_cli_lib.php';
/* ============================================================================== */
/* = null 값을 처리하는 메소드 = */
@ -48,7 +48,4 @@ function f_get_parm_int( $val )
return $ret_val;
}
/* ============================================================================== */
// ss_adult_check clear
//if(get_session('ss_adult_check')) set_session('ss_adult_check', '');
?>

View File

@ -2,7 +2,7 @@
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// kcp 휴대폰인증파일
include_once(G4_KCP_PATH.'/kcpcert_config.php');
include_once(G4_KCPCERT_PATH.'/kcpcert_config.php');
$ordr_idxx = get_session('ss_uniqid');
if(!$ordr_idxx)
@ -27,7 +27,7 @@ if(!$ordr_idxx)
<!-- 사이트코드 -->
<input type="hidden" name="site_cd" value="<?php echo $site_cd; ?>" />
<!-- Ret_URL : 인증결과 리턴 페이지 ( 가맹점 URL 설정해 주셔야 합니다. ) -->
<input type="hidden" name="Ret_URL" value="<?php echo G4_KCP_URL; ?>/kcpcert_result.php" />
<input type="hidden" name="Ret_URL" value="<?php echo G4_KCPCERT_URL; ?>/kcpcert_result.php" />
<!-- cert_otp_use 필수 ( 메뉴얼 참고)
Y : 실명 확인 + OTP 점유 확인 , N : 실명 확인 only
-->
@ -52,7 +52,7 @@ if(!$ordr_idxx)
function auth_type_check(user_name)
{
var auth_form = document.form_auth;
auth_form.user_name.value = encodeURIComponent(user_name);
//auth_form.user_name.value = encodeURIComponent(user_name);
if( auth_form.ordr_idxx.value == "" )
{

View File

@ -2,9 +2,7 @@
include_once('./kcpcert_config.php');
set_session('ss_kcpcert_no', '');
set_session('ss_kcpcert_time', '');
set_session('ss_kcpcert_hash', '');
set_session('ss_adult_check', '');
$site_cd = "";
$ordr_idxx = "";
@ -130,22 +128,30 @@ if( $cert_enc_use == "Y" )
$dec_res_cd = $ct_cert->mf_get_key_value("res_cd" ); // 암호화된 결과코드
$dec_mes_msg = $ct_cert->mf_get_key_value("res_msg" ); // 암호화된 결과메시지
// 정상인증인지 체크
if(!$phone_no)
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
$phone_no = hyphen_hp_number($phone_no);
$sql = " select count(*) as cnt from {$g4['member_table']} where mb_id <> '{$member['mb_id']}' and mb_hp = '{$phone_no}' ";
$row = sql_fetch($sql);
if ($row['cnt']) {
alert_close("이미 가입되어 있는 휴대폰번호 입니다.");
}
// hash 데이터
$md5_cert_no = md5($cert_no);
$hash_data = md5($phone_no.$user_name.$md5_cert_no);
set_session("ss_kcpcert_no", $md5_cert_no);
set_session("ss_kcpcert_time", G4_TIME_YMDHIS);
set_session("ss_kcpcert_hash", $hash_data);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G4_SERVER_TIME));
if((int)$birth_day <= (int)$adult_day)
set_session("ss_adult_check", "Y");
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
$sql = " update {$g4['member_table']} set mb_name = '$user_name', mb_hp = '$phone_no', mb_hp_certify = 1, mb_adult = $adult, mb_birth = '$birth_day', mb_sex = '$sex_code' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
else if( $res_cd != "0000" )
{
@ -157,12 +163,11 @@ if( $cert_enc_use == "Y" )
else if( $cert_enc_use != "Y" )
{
// 암호화 인증 안함
alert_close("휴대폰 본인확인을 취소 하셨습니다.");
exit;
}
$ct_cert->mf_clear();
// 휴대폰번호 포맷변경
$phone_no = hyphen_hp_number($phone_no);
?>
<script>
@ -170,8 +175,8 @@ $(function() {
var $opener = window.opener;
// 인증정보
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no ?>");
$opener.$("input[name=mb_name]").val("<?php echo $user_name ?>");
$opener.$("input[name=mb_name]").val("<?php echo $user_name; ?>");
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
alert("본인의 휴대폰번호로 확인 되었습니다.");
window.close();
});

View File

@ -1,25 +1,25 @@
<?php
/* ====================================================================== */
/* = PAGE : 인증 PHP 라이브러리 1.0.1 = */
/* = PAGE : 인증 PHP 라이브러리 1.0.1 = */
/* = ------------------------------------------------------------------ = */
/* = Copyright (c) 2012 KCP Inc. All Rights Reserverd. = */
/* ====================================================================== */
/* ====================================================================== */
/* = 인증 연동 CLASS = */
/* = 인증 연동 CLASS = */
/* ====================================================================== */
class C_CT_CLI
{
// 변수 선언 부분
// 변수 선언 부분
var $m_dec_data;
// 변수 초기화 영역
// 변수 초기화 영역
function mf_clear()
{
$this->m_dec_data="";
}
// hash 처리 영역
// hash 처리 영역
function make_hash_data( $home_dir , $str )
{
$hash_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
@ -32,7 +32,7 @@ class C_CT_CLI
return $hash_data;
}
// dn_hash 체크 함수
// dn_hash 체크 함수
function check_valid_hash ($home_dir , $hash_data , $str )
{
$ret_val = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
@ -46,7 +46,7 @@ class C_CT_CLI
return $ret_val;
}
// 암호화 인증데이터 복호화
// 암호화 인증데이터 복호화
function decrypt_enc_cert ( $home_dir, $site_cd , $cert_no , $enc_cert_data , $opt)
{
$dec_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
@ -62,7 +62,7 @@ class C_CT_CLI
parse_str( str_replace( chr( 31 ), "&", $dec_data ), $this->m_dec_data );
}
// 인증데이터 get data
// 인증데이터 get data
function mf_get_key_value( $name )
{
return $this->m_dec_data[ $name ];

View File

@ -28,7 +28,7 @@ $subject_row = sql_fetch($sql);
$_link = './bbs/board.php?bo_table=%s&wr_id=%s';
$_sql = "insert into {$g4['syndi_log_table']} (content_id, bbs_id, title, link_alternative, delete_date) values('%s','%s','%s','%s','%s')";
sql_query(sprintf($_sql, $row['wr_id'], $bo_table, addslashes($subject_row['wr_subject']), sprintf($_link, $bo_table, $row['wr_id']), date('YmdHis')));
sql_query(sprintf($_sql, $row['wr_id'], $bo_table, addslashes($subject_row['wr_subject']), sprintf($_link, $bo_table, $row['wr_id']), date('YmdHis')), false);
$oPing = new SyndicationPing;
$oPing->setId(SyndicationHandler::getTag('channel', $bo_table));

View File

@ -27,7 +27,7 @@ $subject_row = sql_fetch($sql);
$_link = './bbs/board.php?bo_table=%s&wr_id=%s';
$_sql = "insert into {$g4['syndi_log_table']} (content_id, bbs_id, title, link_alternative, delete_date) values('%s','%s','%s','%s','%s')";
sql_query(sprintf($_sql, $row['wr_id'], $bo_table, addslashes($subject_row['wr_subject']), sprintf($_link, $bo_table, $row['wr_id']), date('YmdHis')));
sql_query(sprintf($_sql, $row['wr_id'], $bo_table, addslashes($subject_row['wr_subject']), sprintf($_link, $bo_table, $row['wr_id']), date('YmdHis')), false);
$oPing = new SyndicationPing;
$oPing->setId(SyndicationHandler::getTag('channel', $bo_table));