테스트 사이트 - 개발 중인 베타 버전입니다

비회원이 글작성시 메일이 오게 해봤는데요 채택완료

메일이 오게 해봤는데 보안상 문제가 생길까요?

스킨 - basic - write.skin.php 내용입니다.

 

 

       

           

           

           

         

 

왜 이렇게 했냐면 아무리 해도 회원만 메일이 오고 비회원일 때 메일이 오질 않아 강제적으로 저렇게 적어주면 오길래 히든 속성을 줬는데 보안상 문제가 될까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

저렇게 하면

           

            wr_email" value="" id="wr_email" class="frm_input email" maxlength="100">

            wr_email" value="관리자 메일 계정" id="wr_email" required class="frm_input email" size="50" maxlength="100">

          

 

wr_email 값이 중복 되므로 마지막 wr_email 관리자 이메일 계정만 폼값으로 넘겨지겠네요.

 

그렇게 하지 마시고

 

히든값을 빼버리고 tr 위에다 아래와 같이 넣어주면 이메일이 없는 사람들이면 관리자 이메일이 들어 가겠지요.

if(!$email){$email="관리자이메일";}

?>

           

            wr_email" value="" id="wr_email" class="frm_input email" maxlength="100">

          

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

알려주신대로 해보니 비회원일 경우 메일 항목에서 관리자 메일이 나오지만 그것을 수정하고 비회원이 자기 메일로 적어주게 되면 관리자한테 게시물이 등록 됐다고 메일이 오질 않네요

댓글을 작성하려면 로그인이 필요합니다.

흠 글쓰고 나서 이메일 보내는 소스는

bbs/write_update.php 이파일인데 혹시 그부분이 커스터 마이징 되어 있지 않은가요?

해당 이메일 보내는 소스는 아래와 같습니다.

잘보시고 분석 한번 해보시면 될듯 한데..

 

 

// 메일발송 사용 (수정글은 발송하지 않음) if (!($w == 'u' || $w == 'cu') && $config['cf_email_use'] && $board['bo_use_email']) {

    // 관리자의 정보를 얻고     $super_admin = get_admin('super');     $group_admin = get_admin('group');     $board_admin = get_admin('board');

    $wr_subject = get_text(stripslashes($wr_subject));

    $tmp_html = 0;     if (strstr($html, 'html1'))         $tmp_html = 1;     else if (strstr($html, 'html2'))         $tmp_html = 2;

    $wr_content = conv_content(conv_unescape_nl($wr_content), $tmp_html);

    $warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'코멘트', 'cu'=>'코멘트 수정' );     $str = $warr[$w];

    $subject = '['.$config['cf_title'].'] '.$board['bo_subject'].' 게시판에 '.$str.'글이 올라왔습니다.';

    $link_url = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&'.$qstr;

    include_once(G5_LIB_PATH.'/mailer.lib.php');

    ob_start();     include_once ('./write_update_mail.php');     $content = ob_get_contents();     ob_end_clean();

    $array_email = array();     // 게시판관리자에게 보내는 메일     if ($config['cf_email_wr_board_admin']) $array_email[] = $board_admin['mb_email'];     // 게시판그룹관리자에게 보내는 메일     if ($config['cf_email_wr_group_admin']) $array_email[] = $group_admin['mb_email'];     // 최고관리자에게 보내는 메일     if ($config['cf_email_wr_super_admin']) $array_email[] = $super_admin['mb_email'];

    // 원글게시자에게 보내는 메일     if ($config['cf_email_wr_write']) {         if($w == '')             $wr['wr_email'] = $wr_email;

        $array_email[] = $wr['wr_email'];     }

    // 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면     if (strstr($wr['wr_option'], 'mail') && $wr['wr_email'])         $array_email[] = $wr['wr_email'];

    // 중복된 메일 주소는 제거     $unique_email = array_unique($array_email);     $unique_email = array_values($unique_email);     for ($i=0; $i

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

일단 비회원일 경우 메일 입력은 빼 버렸습니다.
도움을 주셔서 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록