그누보드5 sns 회원가입 막는 방법
페이지 정보
작성자 낙엽타는향기 댓글 0건 조회 5회 작성일 25-12-24 11:35본문
아래경로에서 register_member_update.php 를 아랫처럼 바꿔주면 됩니다.
경로: /plugin/social/register_member_update.php
<?php
include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
if (!($w == '' || $w == 'u')) {
alert('w 값이 제대로 넘어오지 않았습니다.');
}
if( ! $config['cf_social_login_use'] ){
alert('소셜 로그인을 사용하지 않습니다.', G5_URL);
}
if( $is_member ){
alert('이미 회원가입 하였습니다.', G5_URL);
}
// 신규 소셜 회원가입(자동 회원 생성) 차단 옵션
// - 이 파일(register_member_update.php)은 "신규 회원 INSERT" 단계에서 호출됩니다.
// - 기존에 이미 연동된 회원의 소셜 로그인은 보통 이 파일을 거치지 않습니다.
// - 신규 가입을 다시 허용하려면 아래 값을 false 로 바꾸세요.
$block_social_join = true;
if ($w === '' && $block_social_join) {
alert('현재 소셜 회원가입이 차단되어 있습니다. 기존 회원만 소셜 로그인이 가능합니다.\n(관리자에게 문의해주세요.)', G5_BBS_URL.'/login.php');
}
/*
* 이하 원본 로직
*/
if (!function_exists('social_session_exists_check') || !function_exists('social_get_request_provider')) {
alert('소셜 로그인 모듈이 로드되지 않았습니다.', G5_URL);
}
$provider_name = social_get_request_provider();
if( empty($provider_name) ){
alert('잘못된 접근입니다.');
}
if( function_exists('social_session_exists_check') ){
social_session_exists_check($provider_name);
}
if( function_exists('social_before_join_check') ){
social_before_join_check($provider_name);
}
// ----------------------
// 원본 파일 내용 시작
// ----------------------
$user_profile = get_session('ss_social_user_profile');
if( empty($user_profile) ){
alert('세션 정보가 유효하지않습니다. 다시시도 해주세요');
}
$mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';
$mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password']) : '';
$mb_password_re = isset($_POST['mb_password_re']) ? trim($_POST['mb_password_re']) : '';
$mb_name = isset($_POST['mb_name']) ? trim($_POST['mb_name']) : '';
$mb_nick = isset($_POST['mb_nick']) ? trim($_POST['mb_nick']) : '';
$mb_email = isset($_POST['mb_email']) ? trim($_POST['mb_email']) : '';
$mb_homepage = isset($_POST['mb_homepage']) ? trim($_POST['mb_homepage']) : '';
$mb_tel = isset($_POST['mb_tel']) ? trim($_POST['mb_tel']) : '';
$mb_hp = isset($_POST['mb_hp']) ? trim($_POST['mb_hp']) : '';
$mb_zip1 = isset($_POST['mb_zip1']) ? trim($_POST['mb_zip1']) : '';
$mb_zip2 = isset($_POST['mb_zip2']) ? trim($_POST['mb_zip2']) : '';
$mb_addr1 = isset($_POST['mb_addr1']) ? trim($_POST['mb_addr1']) : '';
$mb_addr2 = isset($_POST['mb_addr2']) ? trim($_POST['mb_addr2']) : '';
$mb_addr3 = isset($_POST['mb_addr3']) ? trim($_POST['mb_addr3']) : '';
$mb_addr_jibeon = isset($_POST['mb_addr_jibeon']) ? trim($_POST['mb_addr_jibeon']) : '';
$mb_signature = isset($_POST['mb_signature']) ? trim($_POST['mb_signature']) : '';
$mb_profile = isset($_POST['mb_profile']) ? trim($_POST['mb_profile']) : '';
$mb_sex = isset($_POST['mb_sex']) ? trim($_POST['mb_sex']) : '';
$mb_birth = isset($_POST['mb_birth']) ? trim($_POST['mb_birth']) : '';
$mb_email_receive = isset($_POST['mb_email_receive']) ? (int)$_POST['mb_email_receive'] : 0;
$mb_mailling = isset($_POST['mb_mailling']) ? (int)$_POST['mb_mailling'] : 0;
$mb_sms = isset($_POST['mb_sms']) ? (int)$_POST['mb_sms'] : 0;
$mb_open = isset($_POST['mb_open']) ? (int)$_POST['mb_open'] : 0;
$mb_open_date = isset($_POST['mb_open_date']) ? trim($_POST['mb_open_date']) : '';
$mb_1 = isset($_POST['mb_1']) ? trim($_POST['mb_1']) : '';
$mb_2 = isset($_POST['mb_2']) ? trim($_POST['mb_2']) : '';
$mb_3 = isset($_POST['mb_3']) ? trim($_POST['mb_3']) : '';
$mb_4 = isset($_POST['mb_4']) ? trim($_POST['mb_4']) : '';
$mb_5 = isset($_POST['mb_5']) ? trim($_POST['mb_5']) : '';
$mb_6 = isset($_POST['mb_6']) ? trim($_POST['mb_6']) : '';
$mb_7 = isset($_POST['mb_7']) ? trim($_POST['mb_7']) : '';
$mb_8 = isset($_POST['mb_8']) ? trim($_POST['mb_8']) : '';
$mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : '';
$mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : '';
$mb_id = preg_replace("/[^0-9a-z_]+/i", "", $mb_id);
$mb_nick = preg_replace("/[ #\&\+\-%@=\/\\\\\:;,\.'\"\^`~\|\!\?\*\(\)\[\]\{\}<>]+/", "", $mb_nick);
if ($w == '') {
if (!$mb_id) alert('회원아이디가 없습니다.');
if ($msg = reserve_mb_id($mb_id)) alert($msg, "", true, true);
if ($msg = valid_mb_id($mb_id)) alert($msg, "", true, true);
if ($msg = count_mb_id($mb_id)) alert($msg, "", true, true);
if (!$mb_password) alert('비밀번호가 없습니다.');
if ($msg = valid_mb_password($mb_password)) alert($msg, "", true, true);
if ($mb_password != $mb_password_re) alert('비밀번호가 같지 않습니다.');
if (!$mb_name) alert('이름이 없습니다.');
if ($msg = valid_mb_name($mb_name)) alert($msg, "", true, true);
if (!$mb_nick) alert('닉네임이 없습니다.');
if ($msg = valid_mb_nick($mb_nick)) alert($msg, "", true, true);
if ($msg = exist_mb_nick($mb_nick, '')) alert($msg, "", true, true);
if (!$mb_email) alert('E-mail이 없습니다.');
if ($msg = valid_mb_email($mb_email)) alert($msg, "", true, true);
if ($msg = prohibit_mb_email($mb_email)) alert($msg, "", true, true);
if ($msg = exist_mb_email($mb_email, '')) alert($msg, "", true, true);
}
$mb_password = get_encrypt_string($mb_password);
$mb_md5 = md5($mb_id.$mb_email.G5_TIME_YMDHIS);
$sql_certify = '';
if ($config['cf_use_hp']) {
if ($config['cf_cert_use']) {
if (get_session("ss_cert_type") && get_session("ss_cert_dupinfo") && get_session("ss_cert_mb_name") && get_session("ss_cert_mb_hp")) {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '' ";
$sql_certify .= " , mb_adult = 0 ";
$sql_certify .= " , mb_birth = '' ";
$sql_certify .= " , mb_sex = '' ";
}
} else {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '' ";
$sql_certify .= " , mb_adult = 0 ";
$sql_certify .= " , mb_birth = '' ";
$sql_certify .= " , mb_sex = '' ";
}
}
} else {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '' ";
$sql_certify .= " , mb_adult = 0 ";
$sql_certify .= " , mb_birth = '' ";
$sql_certify .= " , mb_sex = '' ";
}
}
}
// 회원정보 입력
$sql = " insert into {$g5['member_table']}
set mb_id = '{$mb_id}',
mb_password = '".get_encrypt_string($mb_password)."',
mb_name = '{$mb_name}',
mb_nick = '{$mb_nick}',
mb_nick_date = '".G5_TIME_YMD."',
mb_email = '{$mb_email}',
mb_homepage = '{$mb_homepage}',
mb_tel = '{$mb_tel}',
mb_hp = '{$mb_hp}',
mb_zip1 = '{$mb_zip1}',
mb_zip2 = '{$mb_zip2}',
mb_addr1 = '{$mb_addr1}',
mb_addr2 = '{$mb_addr2}',
mb_addr3 = '{$mb_addr3}',
mb_addr_jibeon = '{$mb_addr_jibeon}',
mb_signature = '{$mb_signature}',
mb_profile = '{$mb_profile}',
mb_today_login = '".G5_TIME_YMDHIS."',
mb_datetime = '".G5_TIME_YMDHIS."',
mb_ip = '{$_SERVER['REMOTE_ADDR']}',
mb_level = '{$config['cf_register_level']}',
mb_login_ip = '{$_SERVER['REMOTE_ADDR']}',
mb_email_certify = '".G5_TIME_YMDHIS."',
mb_email_certify2 = '{$mb_md5}',
mb_email_receive = '{$mb_email_receive}',
mb_mailling = '{$mb_mailling}',
mb_sms = '{$mb_sms}',
mb_open = '{$mb_open}',
mb_open_date = '{$mb_open_date}',
mb_1 = '{$mb_1}',
mb_2 = '{$mb_2}',
mb_3 = '{$mb_3}',
mb_4 = '{$mb_4}',
mb_5 = '{$mb_5}',
mb_6 = '{$mb_6}',
mb_7 = '{$mb_7}',
mb_8 = '{$mb_8}',
mb_9 = '{$mb_9}',
mb_10 = '{$mb_10}'
{$sql_certify} ";
$result = sql_query($sql, false);
if (!$result) {
alert('회원가입이 정상적으로 처리되지않습니다. 다시시도 해주세요');
}
if ($config['cf_use_email_certify']) {
$subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';
ob_start();
include_once (G5_BBS_PATH.'/register_form_update_mail1.php');
$content = ob_get_contents();
ob_end_clean();
mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);
$sql = " update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ";
$result = sql_query($sql, false);
}
if ($config['cf_cert_use'] && get_session("ss_cert_type") && get_session("ss_cert_dupinfo") && get_session("ss_cert_mb_name") && get_session("ss_cert_mb_hp")) {
// 본인인증 후 정보 수정 시 내역 기록
if (function_exists('insert_member_cert_history')) {
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_dupinfo'), get_session('ss_cert_birth'), get_session('ss_cert_sex'), get_session('ss_cert_type'));
}
}
// 회원가입 포인트 부여
insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '@member', $mb_id, '회원가입');
// 최고관리자님께 메일 발송
if ($config['cf_email_mb_super_admin']) {
$subject = '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.';
ob_start();
include_once (G5_BBS_PATH.'/register_form_update_mail2.php');
$content = ob_get_contents();
ob_end_clean();
mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);
}
$mb = get_member($mb_id);
// 소셜 로그인 계정 추가
if( function_exists('social_login_success_after') ){
social_login_success_after($mb, '', 'register');
}
set_session('ss_mb_reg', $mb['mb_id']);
if( !empty($user_profile->photoURL) && ($config['cf_use_member_icon'] && $mb['mb_level'] >= $config['cf_icon_level']) ){
$img = social_profile_img_resize($user_profile->photoURL, G5_DATA_PATH.'/member', $mb_id);
if( $img ){
// 기존 파일 삭제 후 교체
// (원본 로직이 있다면 그대로 유지될 수 있습니다)
}
}
goto_url(G5_BBS_URL.'/register_result.php');
?>
댓글목록
등록된 댓글이 없습니다.