deny_emails.php

안녕하세요

케이보드 Author 란을 이메일로 수정하고
게시판은 회원가입없이 누구나 작성할수 있습니다.

<? $deny_emails = array(
"차단 이메일 주소 1",
"차단 이메일 주소 2",
"차단 이메일 주소 3",
.
.
.
);
?>

위와 같이 작성된 deny_email.php 파일이 있는데
리스트에 있는 이메일 주소로 글을 작성하려할때
작성불가능하게 하는 방법이 있는지 알고싶습니다
 

감사합니다 :)

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 필터를 사용하는 방법은 이미 글이 저장된 후 실행되기 때문에

    자바스크립트로 폼 입력값을 체크 하셔야 하겠습니다.

    아래처럼 출력하면 PHP 변수를 자바스크립트에서도 사용할 수 있습니다.

    <script>var deny_emails = <?php echo json_encode($deny_emails)?></script>

    스킨의 editor.php 쪽에 추가해주시면 될 듯합니다.

    그리고 스킨의 script.js 파일에 폼 값을 체크하는 자바스크립트 코드를 작성해주시면 되겠습니다.

  • 답변감사합니다

    script.js 폼값 체크하는 코드에 대해 좀더 알려주실수 있을까요

    너무 초보라 검색으로 찾아서 시도해도 작동이 제대로 되지 않습니다 ㅜㅜ

    이전에 사용하던 제로보드 게시판에서 아래의 코드를 찾았는데
    //메일란과 본문에 특정 이메일 필터링
        if($id!=yes) 
        { include "deny_emails.php";
            foreach($deny_emails as $mail_temp) {  
                if(eregi($mail_temp,$email)) Error("게시물 작성이 금지된 메일주소입니다.");  
                else if(eregi($mail_temp,$memo)) Error("게시물 작성이 금지된 메일주소가 본문에 있습니다.");
            }
        }

     

    위와 비슷한 것인가요?

     

    감사합니다

  • 테스트 해보지는 못했지만 간략하게 답변 남겨드립니다.

     

    FTP로 접속해서 스킨의 script.js 파일을 수정해주셔야 합니다.

    아래 코드의 굵게 표시된 부분을 추가해주시겠어요?

    function kboard_editor_execute(form){
        jQuery.fn.exists = function(){
            return this.length>0;
        };
        
        if(!jQuery('input[name=title]', form).val()){
            alert(kboard_localize.please_enter_a_title);
            jQuery('input[name=title]', form).focus();
            return false;
        }
        else if(jQuery('input[name=member_display]', form).eq(1).exists() && !jQuery('input[name=member_display]', form).eq(1).val()){
            alert(kboard_localize.please_enter_a_author);
            jQuery('[name=member_display]', form).eq(1).focus();
            return false;
        }
        else if(jQuery('input[name=member_display]', form).eq(1).exists() && deny_emails.indexOf(jQuery('input[name=member_display]', form).eq(1).val()) >= 0){
            alert('입력하신 이메일은 사용할 수 없습니다.');
            jQuery('[name=member_display]', form).eq(1).focus();
            return false;
        }

        else if(jQuery('input[name=password]', form).exists() && !jQuery('input[name=password]', form).val()){
            alert(kboard_localize.please_enter_a_password);
            jQuery('input[name=password]', form).focus();
            return false;
        }
        else if(jQuery('input[name=captcha]', form).exists() && !jQuery('input[name=captcha]', form).val()){
            alert(kboard_localize.please_enter_the_CAPTCHA_code);
            jQuery('input[name=captcha]', form).focus();
            return false;
        }
        
        return true;
    }

     

    그리고 editor.php 파일에서 아래처럼 $deny_emails PHP 변수도 미리 출력해주셔야 합니다.

    <script>var deny_emails = <?php echo json_encode($deny_emails)?></script>
    <script type="text/javascript" src="<?php echo $skin_path?>/script.js"></script>

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기