게시판 글쓰기시 핸드폰 인증된 회원만 가능하게 하기 정보
게시판 글쓰기시 핸드폰 인증된 회원만 가능하게 하기관련링크
http://sir.co.kr
281회 연결
첨부파일
본문
아이코드에 선결제가 되어 있는 분들만 사용하십시오.
=============================================================
skin 디렉토리의 register_form.skin.php 를
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 토크 생성
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
?>
... 중략 ...
<? if ($config[cf_use_hp]) { ?>
<TR bgcolor="#FFFFFF">
<TD class=m_title>핸드폰번호</TD>
<TD class='m_padding lh'>
<?
if ($member[mb_is_write]) {
echo "<span class='small' style='color:#ff3300;'>$member[mb_is_write] 에 인증하였습니다.</span><br>";
echo "<input type='hidden' name='mb_hp_old' value='$member[mb_hp]'>";
}
?>
<input class=m_text type=text name='mb_hp' size=21 maxlength=20 <?=$config[cf_req_hp]?'required':'';?> itemname='핸드폰번호' value='<?=$member[mb_hp]?>'>
<input type=button value='인증번호 전송' class='small' onclick="hp_certify(this.form);">
인증번호 : <input class=m_text type=text name='mb_hp_certify' size=6 maxlength=6> 6자리 숫자<br>
<span class=small style='color:blue;'>
핸드폰 번호 인증을 하셔야 게시판에 글을 쓰실 수 있습니다.<br>
핸드폰으로 전송된 인증번호를 입력하신 후 회원정보를 수정(확인 버튼)하시기 바랍니다.<br>
</span>
<script>
function hp_certify(f) {
var pattern = /^01[0-9][-]{0,1}[0-9]{3,4}[-]{0,1}[0-9]{4}$/;
if(!pattern.test(f.mb_hp.value)){
alert("핸드폰 번호가 입력되지 않았거나 번호가 틀립니다.\n\n핸드폰 번호를 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 또는 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 과 같이 입력해 주십시오.");
f.mb_hp.select();
f.mb_hp.focus();
return;
}
win_open("<?=$member_skin_path?>/hp_certify.php?hp="+f.mb_hp.value+"&token=<?=$token?>", "hiddenframe");
}
</script>
</TD>
</TR>
<? } ?>
... 생략 ...
와 같이 수정합니다.
=============================================================
해당 디렉토리에 hp_certify.php 를 아래 코드로 넣습니다.
<?
$g4_path = "../../..";
include_once($g4_path."/common.php");
// 세션에 저장된 토큰과 폼값으로 넘어온 토큰을 비교
if ($_GET["token"] && get_session("ss_token") == $_GET["token"]) {
set_session("ss_token", ""); // 맞으면 세션을 지워 다시 입력폼을 통해서 들어오도록 한다.
} else {
alert_close("인증번호 발송시 오류가 발생하였습니다.");
exit;
}
$default['de_icode_server_ip'] = "211.172.232.124";
$default['de_icode_id'] = "아이코드 회원아이디";
$default['de_icode_pw'] = "아이코드 패스워드";
$default['de_icode_server_port'] = "7295";
$default['de_sms_hp'] = "보내는 사람 전화번호";
// SMS BEGIN --------------------------------------------------------
$receive_number = preg_replace("/[^0-9]/", "", $hp); // 수신자번호
$send_number = preg_replace("/[^0-9]/", "", $default['de_sms_hp']); // 발신자번호
$certify_number = rand(100000, 999999);
// 생성된 인증번호를 세션에 저장함
// form 에서 넘어온 인증번호와 비교하여 같으면 글쓰기 허용함
set_session("ss_hp_certify_number", $certify_number);
$sms_contents = "";
$sms_contents .= $certify_number;
$sms_contents .= "\n\n인증번호 입니다.";
if ($receive_number) {
include_once("$g4[path]/lib/icode.sms.lib.php");
$SMS = new SMS; // SMS 연결
$SMS->SMS_con($default['de_icode_server_ip'], $default['de_icode_id'], $default['de_icode_pw'], $default['de_icode_server_port']);
$SMS->Add($receive_number, $send_number, $default['de_icode_id'], stripslashes($sms_contents), "");
$SMS->Send();
}
// SMS END --------------------------------------------------------
alert_close("인증번호를 전송하였습니다. 인증번호를 확인 후 입력하여 주십시오.");
?>
=============================================================
bbs/write.php 를 아래와 같이 수정합니다.
@include_once ("$g4[path]/skin/board/write.head.skin.php"); // 이줄 추가
@include_once ("$board_skin_path/write.head.skin.php");
=============================================================
skin/board/write.head.skin.php 의 코드를 아래와 같이 작성합니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (trim($member[mb_is_write]) == "") {
alert("핸드폰번호 인증을 받은 회원만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 핸드폰번호 인증을 받으시기 바랍니다.\\n\\n음란 게시물을 막기 위한 방편이오니 이점 양해 바랍니다.");
}
?>
=============================================================
이 코드와 관련된 개인적인 질문은 받지 않습니다.
=============================================================
skin 디렉토리의 register_form.skin.php 를
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 토크 생성
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
?>
... 중략 ...
<? if ($config[cf_use_hp]) { ?>
<TR bgcolor="#FFFFFF">
<TD class=m_title>핸드폰번호</TD>
<TD class='m_padding lh'>
<?
if ($member[mb_is_write]) {
echo "<span class='small' style='color:#ff3300;'>$member[mb_is_write] 에 인증하였습니다.</span><br>";
echo "<input type='hidden' name='mb_hp_old' value='$member[mb_hp]'>";
}
?>
<input class=m_text type=text name='mb_hp' size=21 maxlength=20 <?=$config[cf_req_hp]?'required':'';?> itemname='핸드폰번호' value='<?=$member[mb_hp]?>'>
<input type=button value='인증번호 전송' class='small' onclick="hp_certify(this.form);">
인증번호 : <input class=m_text type=text name='mb_hp_certify' size=6 maxlength=6> 6자리 숫자<br>
<span class=small style='color:blue;'>
핸드폰 번호 인증을 하셔야 게시판에 글을 쓰실 수 있습니다.<br>
핸드폰으로 전송된 인증번호를 입력하신 후 회원정보를 수정(확인 버튼)하시기 바랍니다.<br>
</span>
<script>
function hp_certify(f) {
var pattern = /^01[0-9][-]{0,1}[0-9]{3,4}[-]{0,1}[0-9]{4}$/;
if(!pattern.test(f.mb_hp.value)){
alert("핸드폰 번호가 입력되지 않았거나 번호가 틀립니다.\n\n핸드폰 번호를 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 또는 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 과 같이 입력해 주십시오.");
f.mb_hp.select();
f.mb_hp.focus();
return;
}
win_open("<?=$member_skin_path?>/hp_certify.php?hp="+f.mb_hp.value+"&token=<?=$token?>", "hiddenframe");
}
</script>
</TD>
</TR>
<? } ?>
... 생략 ...
와 같이 수정합니다.
=============================================================
해당 디렉토리에 hp_certify.php 를 아래 코드로 넣습니다.
<?
$g4_path = "../../..";
include_once($g4_path."/common.php");
// 세션에 저장된 토큰과 폼값으로 넘어온 토큰을 비교
if ($_GET["token"] && get_session("ss_token") == $_GET["token"]) {
set_session("ss_token", ""); // 맞으면 세션을 지워 다시 입력폼을 통해서 들어오도록 한다.
} else {
alert_close("인증번호 발송시 오류가 발생하였습니다.");
exit;
}
$default['de_icode_server_ip'] = "211.172.232.124";
$default['de_icode_id'] = "아이코드 회원아이디";
$default['de_icode_pw'] = "아이코드 패스워드";
$default['de_icode_server_port'] = "7295";
$default['de_sms_hp'] = "보내는 사람 전화번호";
// SMS BEGIN --------------------------------------------------------
$receive_number = preg_replace("/[^0-9]/", "", $hp); // 수신자번호
$send_number = preg_replace("/[^0-9]/", "", $default['de_sms_hp']); // 발신자번호
$certify_number = rand(100000, 999999);
// 생성된 인증번호를 세션에 저장함
// form 에서 넘어온 인증번호와 비교하여 같으면 글쓰기 허용함
set_session("ss_hp_certify_number", $certify_number);
$sms_contents = "";
$sms_contents .= $certify_number;
$sms_contents .= "\n\n인증번호 입니다.";
if ($receive_number) {
include_once("$g4[path]/lib/icode.sms.lib.php");
$SMS = new SMS; // SMS 연결
$SMS->SMS_con($default['de_icode_server_ip'], $default['de_icode_id'], $default['de_icode_pw'], $default['de_icode_server_port']);
$SMS->Add($receive_number, $send_number, $default['de_icode_id'], stripslashes($sms_contents), "");
$SMS->Send();
}
// SMS END --------------------------------------------------------
alert_close("인증번호를 전송하였습니다. 인증번호를 확인 후 입력하여 주십시오.");
?>
=============================================================
bbs/write.php 를 아래와 같이 수정합니다.
@include_once ("$g4[path]/skin/board/write.head.skin.php"); // 이줄 추가
@include_once ("$board_skin_path/write.head.skin.php");
=============================================================
skin/board/write.head.skin.php 의 코드를 아래와 같이 작성합니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (trim($member[mb_is_write]) == "") {
alert("핸드폰번호 인증을 받은 회원만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 핸드폰번호 인증을 받으시기 바랍니다.\\n\\n음란 게시물을 막기 위한 방편이오니 이점 양해 바랍니다.");
}
?>
=============================================================
이 코드와 관련된 개인적인 질문은 받지 않습니다.
추천
3
3
댓글 15개
빠진 내용이 있어 코멘트로 남깁니다.
register_update.skin.php 을 아래의 코드로 작성해 주십시오.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 핸드폰 번호와 인증번호가 같이 넘어 왔다면
if ($mb_hp && $mb_hp_certify) {
$mb_is_write = "";
// 인증번호가 같다면
if (get_session("ss_hp_certify_number") == $mb_hp_certify) {
$mb_is_write = $g4['time_ymdhis']; // 현재시간
}
sql_query(" update $g4[member_table] set mb_is_write = '$mb_is_write' where mb_id = '$mb_id' ");
} else if ($mb_hp_old && $mb_hp != $mb_hp_old) {
sql_query(" update $g4[member_table] set mb_is_write = '' where mb_id = '$mb_id' ");
}
?>
register_update.skin.php 을 아래의 코드로 작성해 주십시오.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 핸드폰 번호와 인증번호가 같이 넘어 왔다면
if ($mb_hp && $mb_hp_certify) {
$mb_is_write = "";
// 인증번호가 같다면
if (get_session("ss_hp_certify_number") == $mb_hp_certify) {
$mb_is_write = $g4['time_ymdhis']; // 현재시간
}
sql_query(" update $g4[member_table] set mb_is_write = '$mb_is_write' where mb_id = '$mb_id' ");
} else if ($mb_hp_old && $mb_hp != $mb_hp_old) {
sql_query(" update $g4[member_table] set mb_is_write = '' where mb_id = '$mb_id' ");
}
?>
퍼가요~
감사합니다....^^
오~ 리자님 파이팅~!
신나는 날입니다.
감사합니다.
감사합니다.
고맙습니다^^/
감사~!
아니 그럼..관리자는 어디서 인증을 받아야합니까?
관리자도 받으라하는데...
관리자는 인증을 안받게 해야한다거나..뭐 그런소스가 있어야할텐데요..
관리자도 받으라하는데...
관리자는 인증을 안받게 해야한다거나..뭐 그런소스가 있어야할텐데요..
write.head.skin
관리자 패쑤하기
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!$is_admin) {
if (trim($member[mb_is_write]) == "") {
alert("핸드폰번호 인증을 받은 회원만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 핸드폰번호 인증을 받으시기 바랍니다.\\n\\n음란 게시물을 막기 위한 방편이오니 이점 양해 바랍니다.");
}
}
?>
관리자 패쑤하기
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!$is_admin) {
if (trim($member[mb_is_write]) == "") {
alert("핸드폰번호 인증을 받은 회원만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 핸드폰번호 인증을 받으시기 바랍니다.\\n\\n음란 게시물을 막기 위한 방편이오니 이점 양해 바랍니다.");
}
}
?>
핸드폰인증
게시판 글쓰기시 핸드폰 인증된 회원만 가능하게 하기
이것을 제대로 구현해봤습니다만..핸드폰인증번호를 잘못입력해도 인증이 되게 넘어가 버리네요..어디 부분을 수정해야 하는건가요?
인증번호 아무거나 6자리 입력하여 그냥 회원가입되는현상은
회원가입은 되었으나 인증번호 승인된 회원이 아니므로
게시판에 글을 쓸수 없습니다.
리자님이 올려놓으신글 잘 보시면 알겠지만
휴대폰인증된 회원만 게시판 글쓸수 있는 방법을 설명하신거였거든요
회원가입은 되었으나 인증번호 승인된 회원이 아니므로
게시판에 글을 쓸수 없습니다.
리자님이 올려놓으신글 잘 보시면 알겠지만
휴대폰인증된 회원만 게시판 글쓸수 있는 방법을 설명하신거였거든요
이게 그누5에도서 되나요?
감사합니다.