웹마스터 팁

저번에는 너무 어렵게 한것 같아서 이번에는 차근차근 해 나갈것입니다;;
------------------------------------------------------------------
우선 첨부파일을 받아서 풀면 나오는 파일을 제로보드 폴더에 올리세요.
그리고, 두개의 파일 안에 보면

// 제로보드 설치 url
$zb_path="제로보드 설치 경로";
이 부분을 찾아 반드시 수정해주세요.

이제 파일 수정입니다. 파란색은 원문, 빨간색은 추가/수정부분입니다.

member_join_ok.php 118번째줄 부근부터
-----------------------

        if(!$mode) {
        $member_data=mysql_fetch_array(mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')"));


    // 인증 부분

      // 웹마스터 E-mail
      $_from = $_zbDefaultSetup[email];
      // 사이트 이름
      $_sitename = $_zbDefaultSetup[sitename];
      // 제로보드 설치 url
      $zb_path = "제로보드 경로";

    $temp=substr(base64_encode(time()),1,10);
    $mode="join";

    mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member_data[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");

    $to=$member_data[email];
    $name=$member_data[name];

    $link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$user_id."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$user_id."&key=".$temp."< /a>";

    $subject="[$_sitename] 회원가입 인증 메일입니다";

    $comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에 가입해 주셔서 갑사합니다.n"."가입 인증을 확인하시려면 아래 주소를 클릭하여 주세요.n만일 링크 표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하시면 됩니다.nn".$link;

    if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
?>
<script>
    alert("지금 <?=$to?>로 인증 메일을 보냈습니다.nn메일을 확인하시고 인증받으시기 바랍니다.");
    opener.window.history.go(0);
    window.close();
</script>
<?
    exit;
    }
    // 4.0x 용 세션 처리
    $zb_logged_no = $member_data[no];
    $zb_logged_time = time();
    $zb_logged_ip = $REMOTE_ADDR;
    $zb_last_connect_check = '0';

    session_register("zb_logged_no");
    session_register("zb_logged_time");
    session_register("zb_logged_ip");
    session_register("zb_last_connect_check");

    mysql_close($connect);

?>

<script>
    alert("회원가입이 정상적으로 이루어졌습니다.");
    opener.window.history.go(0);
    window.close();
</script>

<!-- 여기가 파일의 끝입니다 -->
-----------------------
member_modify_ok.php 22번째줄 부근부터
-----------------------

        $check=mysql_fetch_array(mysql_query("select count(*) from $member_table where email='+ '$email' and no <> ".$member[no],$connect));
        if($check[0]>0) Error("이미 등록되어 있는 E-Mail입니다");


  // 여기부터 인증부분
        $check=mysql_fetch_array(mysql_query("select no,email from $member_table where no='+ '$no'",$connect));
        if($check[email]!=$email) {

          // 웹마스터 E-mail
          $_from = $_zbDefaultSetup[email];
          // 사이트 이름
          $_sitename = $_zbDefaultSetup[sitename];
          // 제로보드 설치 url
          $zb_path = "제로보드 경로";
        
          $temp=substr(base64_encode(time()),1,10);
          $mode="join";
        
          mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
        
          $to=$email;
        
            $link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."< /a>";
        
          $subject="[$_sitename] 정보수정 인증 메일입니다";
        
          $comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에서 메일주소를 변경하였기에 발송되는 인증메일입니다.n"."인증을 확인하시려면 아래 링크를 클릭하여 주세요.n만일 링크표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하여 주세요.nn".$link;
        
          if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
?>
<script>
alert("지금 <?=$to?>로 인증메일을 발송하였습니다.nn지금 메일을 확인하여 인증받으시기 바랍니다.");
opener.window.history.go(0);
window.close();
</script>
<?
        }
  // 인증부분 끝

.
.
.
[중략]
.
.

if (!$mode) {
?>


<script>
alert("회원님의 정보수정이 제대로 처리되었습니다.");
opener.window.history.go(0);
window.close();
</script>


<? } ?>

<!-- 여기가 이 파일의 끝입니다 -->
-----------------------
member_out.php 10번째줄
-----------------------

// 회원 정보를 얻어옴
        $member=member_info();
        $group_no = $member[group_no];


// 멤버 정보 삭제 -- 이부분부터 인증을 위해 주석처리
//        @mysql_query("delete from $member_table where no='$member[no]'") or error(mysql_error());
  
// 쪽지 테이블에서 멤버 정보 삭제
//        @mysql_query("delete from $get_memo_table where member_no='$member[no]'") or error(mysql_error());
//        @mysql_query("delete from $send_memo_table where member_no='$member[no]'") or error(mysql_error());


// 각종 게시판에서 현재 탈퇴한 멤버의 모든 정보를 삭제 (부하 문제로 인해서 주석 처리)
        /*
        $result=mysql_query("select name from $admin_table");
        while($data=mysql_fetch_array($result)) {
                // 게시판 테이블에서 삭제
                @mysql_query("update $t_board"."_$data[name] set ismember='0', password=password('".time()."') where ismember='$member[no]'") or error(mysql_error());
                // 코멘트 테이블에서 삭제
                @mysql_query("update $t_comment"."_$data[name] set ismember='0', password=password('".time()."')  where ismember='$member[no]'") or error(mysql_error());
        }
        */


// 그룹테이블에서 회원수 -1
//        @mysql_query("update $group_table set member_num=member_num-1 where no = '$group_no'") or error(mysql_error());
// 여기까지 주석처리
  // 웹마스터 E-mail
  $_from = $_zbDefaultSetup[email];
  // 사이트 이름
  $_sitename = $_zbDefaultSetup[sitename];
  // 제로보드 설치 url
  $zb_path = "제로보드 경로";

  $temp=substr(base64_encode(time()),1,10);
  $mode="out";

  mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");

  $name=$member[name];
  $to=$member[email];

  $link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."< /a>";

  $subject="[$_sitename] 회원탈퇴 인증 메일입니다";

  $comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에서 탈퇴요청을 하였기에 발송되는 인증메일입니다.n"."인증을 확인하시려면 아래 링크를 클릭하여 주세요.n만일 링크표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하여 주세요.nn".$link;

  if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");


// 로그아웃 시킴
        destroyZBSessionID($member[no]);

        // 기존 세션 처리 (4.0x용 세션 처리로 인하여 주석 처리)
        //$HTTP_SESSION_VARS["zb_logged_no"]='';
        //$HTTP_SESSION_VARS["zb_logged_id"]='';
        //$HTTP_SESSION_VARS["zb_logged_time"]='';
        //$HTTP_SESSION_VARS["zb_logged_ip"]='';
        //$HTTP_SESSION_VARS["zb_secret"]='';
        //$HTTP_SESSION_VARS["zb_last_connect_check"] = '0';

        // 4.0x 용 세션 처리
        $zb_logged_no='';
        $zb_logged_time='';
        $zb_logged_ip='';
        $zb_secret='';
        $zb_last_connect_check = '0';
        session_register("zb_logged_no");
        session_register("zb_logged_time");
        session_register("zb_logged_ip");
        session_register("zb_secret");
        session_register("zb_last_connect_check");

        mysql_close($connect);
?>


<script>
alert("인증메일이 <?=$to?>로 발송되었습니다.nn메일을 확인하셔야만 완전한 탈퇴가 이루어집니다.");
opener.window.history.go(0);
window.close();
</script>

<!-- 여기가 이 파일의 끝입니다 -->
----------------------------------
이제 로그인을 위한 login_check.php 수정입니다. 20번째줄 부터
----------------------------------

// 회원로그인이 성공하였을 경우 세션을 생성하고 페이지를 이동함
        if($member_data[no]) {


                // 인증이 안되어 있으면 못들어가요~
                if($member_data[office_tel]=="join") error("메일 인증이 되지 않은 ID입니다

아이디 재인증을 하시기 바랍니다

< a href=# onclick="window.open('activate_form.php?mode=join','lost_id','width=380,height=200,toolbars=no,autoscrollbars=no')"><u>☞ 아이디 재인증</u>< /a>");
                if($member_data[office_tel]=="out") error("인증받으셔야만 회원탈퇴가 가능합니다.

인증 메일을 다시 받으시려면 아래 링크를 클릭하세요.

< a href=# onclick="window.open('activate_form.php?mode=out','lost_id','width=380,height=200,toolbars=no,autoscrollbars=no')"><u>☞ 아이디 재인증</u>< /a>");

// 여기까지 인증 부분
---------------------------------
이 외에도 member_modify.php에서 탈퇴시 메세지창을 수정하여야 하는데 이것은 여러분에게 맡기겠습니다.
참, setup.php도 확인해두시구요.
현재 제 홈에 적용해두었습니다.
아래는 적용 후 화면입니다.


제목 글쓴이 날짜
IIS에서 HTTPS를 사용하기 위한 SSL설정 (letsencrypt 인증서 설치, 갱신) file ehii 2016.04.13
rsync 와 ssh root 접속을 막고 인증키로만 백업하기 마루디자인 2015.11.25
member 모듈 메일인증을 사용할때 모바일 기본스킨에서 회원가입 후 이메일 발송 안내 띄우기 [2] file 후하니 2015.08.01
php 5.6에서 인증메일 SMTP 연결에 실패할때.. file 루비스코 2015.03.31
인증메일이 안올경우 - 팁이라고 해야할지...소개라고 해야할짐 모르지만 [2] socialskyo 2015.03.07
회원가입 인증메일 Gmail 설정해도 메일 안 올 때 저는 이렇게 했습니다. [12] file 마키치노 2014.11.06
특정 도메인 가입 않되게 (인증메일 관련) 컴박살 2014.08.06
인증메일 안가는 문제- 완전 간단 해결 꿈섬 2014.07.27
간단하게 외부 SMTP 로 인증메일 보내기. [1] file AJKJ 2014.07.22
이메일 주소로 계정 찾기시 잘못된 계정 인증요청이라고 뜰때 임시 대처법 file 루비스코 2014.05.10
이메일인증 Error 한방정리 참고해보세요. [4] 애드바이러스 2014.02.12
메일링 가입 인증 폼 부터 ..가입인증 메일 제목 가입인증 메일 코드 부분의 에러로 , msg_confirm_account_title 메일 주소가 이렇게 표기되어 오던 [3] file 애드바이러스 2013.09.02
네이버 SMTP로 인증메일 보내기 [12] Neder 2013.08.26
회원가입 인증메일 제목 msg_confirm_account_title 오류 해결방법 [2] 뒤뒤 2013.06.27
아이디 계정때도 이메일 변경시 재인증 메일 발송하기 [1] 혼ME 2013.06.19
Startssl 무료인증서 백업 복구 성공기!! [2] 제이엔지 2013.01.15
가입 메일 인증 SMTP 안되시는 분들 참고하세욤~ 네이버 메일 서버 사용. [4] file 테나 2012.12.08
startssl 에 가입하고 패널 들어갈때 인증서 못받으신분들 file 우리아기 2012.09.12
인증메일 에러 나시는 분께 드리는 글 sorigongan 2012.09.11
웹호스팅 사용자를 위한 SSL 보안서버인증 적용하기 [1] 우진홈 2012.08.25