글 수 151
2009.02.06 16:42:14 (*.116.113.126)
24300

  1. 앞으로 할 작업 이해

    먼저, 앞으로 할 작업을 간단히 요약해서 보여 드리겠습니다. 아래 제로보드4의 파일 구성 그림을 참조합니다.

    제로보드4에 지엠스팸프리 ZmSpamFree 적용방법 1

    작업의 순서는, 아래와 같습니다.
    ① 지엠스팸프리 설치 및 정상작동 확인 (사용방법 1번 게시물 참조)
    ② 게시물 쓰기에 적용 A , B
    ③ 덧글 쓰기에 적용 A , B
    ④ 회원가입 폼에 적용 A , B

    위 그림을 유심히 보시기 바랍니다. 아래 설명에도 계속 참고할 것입니다.

    특히, 위에서 '해당 스킨 디렉토리'라고 쓰인 부분은, 해당 게시판이 사용중인 스킨의 디렉토리를 말합니다.

    제로보드4에 지엠스팸프리 ZmSpamFree 적용방법 2

    위 그림은 제로보드 관리자 페이지에서 해당 게시판 설정에 들어갔을 때의 화면입니다. 어떤 스킨을 사용하는가에 따라 위 빨간색 박스 안에 제각기 다른 이름이 들어가 있습니다.

    아래 설명중 '해당 스킨 디렉토리'라는 말은, 'nzeo_ver4_bbs' 꼭 디렉토리를 뜻하는 것은 아닙니다. 해당 스킨 디렉토리는 여러분이 직접 찾으셔야 합니다. 또한, 홈페이지에 여러 개의 스킨을 사용하신다면, 모든 스킨에 다 적용하셔야 합니다.

  2. 게시물 쓰기에 적용 A : write.php

    해당 스킨 디렉토리의 write.php 파일을 에디터로 열고, <?=$hide_start?>라고 씌어진 코드를 찾습니다. 이는, 회원 로그인시에는 출력하지 말라는 명령의 코드입니다. 따라서, 위 코드의 아래에 다음과 같은 코드를 넣습니다.

    <?=$hide_start?>
    <tr>
        <td>스팸차단코드</td>
        <td>
        <p><img src="https://해당주소/zmSpamFree/zmSpamFree.php?zsfimg=<?php echo time();?>" id="zsfImg" alt="아래 새로고침을 클릭해 주세요." title="SpamFree.kr" /></p>
        <p><input type="text" size="8" maxlength="10" name="zsfCode" id="zsfCode" /></p>
        <p><a href="#" onclick="document.getElementById('zsfImg').src='https://해당주소/zmSpamFree/zmSpamFree.php?re&zsfimg=' + new Date().getTime(); return false;" title="새로고침">새로고침</a></p>
        </td>
    </tr>

    ※ 위 코드에서 빨간색으로 된 부분은 자신의 서버 주소로 바꿔야 합니다.

    이제 입력폼은 다 수정되었습니다. 검증 페이지 수정은 조금 더 쉽습니다.

  3. 게시물 쓰기에 적용 B : write_ok.php

    먼저, 맨 위의 이미지를 다시 보시고 어디에 위치한 파일인지 확인합니다.

    write_ok.php 파일을 열면 처음부분(약 26번째 줄)에 if(!$member[no]) {라는 코드가 있습니다. 이 코드 바로 아래에 아래와 같은 코드를 삽입합니다.

    if(!$member[no]) {
        // 지엠스팸프리 검사
        include 'zmSpamFree/zmSpamFree.php';
        if ( !zsfCheck( $_POST['zsfCode'], $_GET['id'] ) ) { Error ('스팸차단코드가 틀렸습니다.'); }

  4. 덧글 쓰기에 적용 A : view_write_comment.php

    해당 스킨 디렉토리의 view_write_comment.php 파일을 에디터로 열고, <?=$hide_c_password_start?>라고 씌어진 코드를 찾습니다. 이는, 회원 로그인시에는 출력하지 말라는 명령의 코드입니다. 따라서, 비회원에게만 적용하려면, 위 코드의 아랫부분에, 회원에게도 적용하려면 위 코드 윗부분에 아래와 같은 코드를 입력합니다.

    <?=$hide_c_password_start?>
    <tr>
        <td>스팸차단코드</td>
        <td>
        <p><img src="https://해당주소/zmSpamFree/zmSpamFree.php?zsfimg=<?php echo time();?>" id="zsfImg" alt="아래 새로고침을 클릭해 주세요." title="SpamFree.kr" /></p>
        <p><input type="text" size="8" maxlength="10" name="zsfCode" id="zsfCode" /></p>
        <p><a href="#" onclick="document.getElementById('zsfImg').src='https://해당주소/zmSpamFree/zmSpamFree.php?re&zsfimg=' + new Date().getTime(); return false;" title="새로고침">새로고침</a></p>
        </td>
    </tr>

    ※ 위 코드에서 빨간색으로 된 부분은 자신의 서버 주소로 바꿔야 합니다.

  5. 덧글 쓰기에 적용 B : comment_ok.php

    먼저, 맨 위의 이미지를 다시 보시고 어디에 위치한 파일인지 확인합니다.

    comment_ok.php 파일을 열면 처음부분(약 22번째 줄)에 if(!$member[no]) {이라는 코드가 있습니다. 이 코드 바로 아래에 다음과 같은 코드를 삽입합니다.

    if(!$member[no]) {
    // 지엠스팸프리 검사
        include 'zmSpamFree/zmSpamFree.php';
        if ( !zsfCheck( $_POST['zsfCode'], $_GET['id'] ) ) { Error ('스팸차단코드가 틀렸습니다.'); }

  6. 회원가입에 적용 A : member_join.php

    먼저, 맨 위의 이미지를 다시 보시고 어디에 위치한 파일인지 확인합니다.

    제로보드 디렉토리의 member_join.php 파일을 에디터로 열고, Name 입력폼다음 줄을 찾습니다. 약 223째줄 다음입니다. 이 부분에 아래 코드를 넣습니다.

    <tr>
        <td>스팸차단코드</td>
        <td>
        <p><img src="https://해당주소/zmSpamFree/zmSpamFree.php?zsfimg=<?php echo time();?>" id="zsfImg" alt="아래 새로고침을 클릭해 주세요." title="SpamFree.kr" /></p>
        <p><input type="text" size="8" maxlength="10" name="zsfCode" id="zsfCode" /></p>
        <p><a href="#" onclick="document.getElementById('zsfImg').src='https://해당주소/zmSpamFree/zmSpamFree.php?re&zsfimg=' + new Date().getTime(); return false;" title="새로고침">새로고침</a></p>
        </td>
    </tr>

    ※ 위 코드에서 빨간색으로 된 부분은 자신의 서버 주소로 바꿔야 합니다.

  7. 회원가입에 적용 B : member_join_ok.php

    먼저, 맨 위의 이미지를 다시 보시고 어디에 위치한 파일인지 확인합니다.

    member_join_ok.php 파일을 열면 처음부분(약 10번째 줄)에 // DB 연결이라는 주석이 있습니다. 이 코드 바로 위에 아래와 같은 코드를 삽입합니다.

        include 'zmSpamFree/zmSpamFree.php';
        if ( !zsfCheck( $_POST['zsfCode'] ) ) { Error ('스팸차단코드가 틀렸습니다.'); }
    // DB 연결

  8. 디자인을 마무리 합니다.

    일단, 제대로 돌아가는지 확인하신 후, 스타일이나 CSS를 수정하여 디자인을 마무리합니다.

  9. 주의사항

    맨 위에서 보았던 이미지를 다시 보겠습니다.

    제로보드4에 지엠스팸프리 ZmSpamFree 적용방법 1

    특정 스킨은 write_ok.php 파일이나 comment_ok.php 파일을 제로보드의 자체 파일을 사용하지 않고, 해당 스킨 안에 따로 제작한 프로그램으로 돌리곤 합니다.

    따라서, 이러한 스킨을 사용하실 경우에는, 해당 폴더 안에 있는 write_ok.php 와 comment_ok.php 파일도 수정하셔야 제대로 사용 가능합니다.

  10. 특정 게시판만 적용하는 방법

    아래 코드는, 위 설명중 3번 게시물 쓰기에 적용 B, 5번 덧글 쓰기에 적용 B 에서 수정했던 코드입니다.

    if(!$member[no]) {
        // 지엠스팸프리 검사
        include 'zmSpamFree/zmSpamFree.php';
        if ( !zsfCheck( $_POST['zsfCode'], $_GET['id'] ) ) { Error ('스팸차단코드가 틀렸습니다.'); }

    위 코드에서 아래와 같이 몇 줄만 더 추가하면 됩니다. (빨간색)

    아래 코드 예는, '방명록'(guestbook)만 적용할 경우의 예이므로, guestbook이 아닌 다른 게시판명을 입력하시면 됩니다.

    if(!$member[no]) {
        // 지엠스팸프리 검사
        if ($id=='gueskbook') {
        include 'zmSpamFree/zmSpamFree.php';
        if ( !zsfCheck( $_POST['zsfCode'], $_GET['id'] ) ) { Error ('스팸차단코드가 틀렸습니다.'); }
        }

    맨 아랫부분에 괄호'}' 닫는 것을 잊지 마세요.

    만일, 여러 개의 '방명록(guestbood)'과 '자유게시판(free)' 2개의 게시판에 적용시키고 싶다면, 아래와 같이 합니다.

    if(!$member[no]) {
        // 지엠스팸프리 검사
        if ($id=='gueskbook' OR $id=='free') {
        include 'zmSpamFree/zmSpamFree.php';
        if ( !zsfCheck( $_POST['zsfCode'], $_GET['id'] ) ) { Error ('스팸차단코드가 틀렸습니다.'); }

출처 : https://www.casternet.com/spamfree/zmb/view.php?bd=manual&no=5&page=1

댓글
2009.09.30 10:59:39 (*.121.190.209)
안개
역시 오작교님 이십니다
전에 한번 적용해 볼려다가 무엇이 잘못되었는지...마음 먹은되로 잘 되지않아
소스만 뚫어지게 쳐다보다가 보류해뒀는데
오작교님 소스보고 저도 한번 배워봐야 겠습니다
유용한 정보 감사드려요^^
번호
제목
글쓴이
151 제로보드에서 관리자 비번 분실시
오작교
2016-06-27 17241  
150 계정을 옮길 때
오작교
2008-11-25 26001  
149 제로보드의 변수 모음 정리
오작교
2008-07-24 53559  
148 참고로 할만한 제로보드 팁 공간가기
오작교
2008-01-11 22814  
147 제로보드 설치하기(이미지)
오작교
2007-11-13 23444  
146 스팸성 댓글 일괄 삭제하기(IP 방식) 1
오작교
2009-09-24 25546  
145 홈페이지 보안강화 도구(Castle) 보급안내 2
오작교
2009-09-14 17603  
144 최근 게시물 nowrap 적용하기
오작교
2009-08-30 21063  
143 활동 로그기록 남기기 2
오작교
2009-04-29 29761  
142 최근 갤러리(슬라이드 형) 스킨
오작교
2009-03-10 21360  
141 회원가입폼에서 생년월일 마우스로 선택하기 1
오작교
2009-03-10 21589  
140 회원가입 폼에서 한/영키를 누르는 수고를 없애기 1
오작교
2009-03-10 19020  
139 최근 게시물에 새코멘트 표시해주기
오작교
2009-03-10 20089  
138 회원가입 - 나이제한하기
오작교
2009-02-27 21181  
137 드롭메뉴에 관한 팁 하나 1
오작교
2009-02-27 19597  
136 2009. 02. 09 - 제로보드 4 보안 패치 p19
오작교
2009-02-27 19887  
135 비회원의 게시판 접근을 막기
오작교
2009-02-26 21613  
우리 홈 게시판 스팸 차단 1
오작교
2009-02-06 24300  
133 회원관리 페이지의 리스트 목록 늘리기
오작교
2008-12-19 19088  
132 zb4(Mysql 3.2)에서 zb4(Mysql 5)로 DB 백업본
오작교
2008-12-16 21474  

로그인