스팸코드 혹은 자동가입 방지 깨지시는분...중에... > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

스팸코드 혹은 자동가입 방지 깨지시는분...중에... 정보

스팸코드 혹은 자동가입 방지 깨지시는분...중에...

본문

혹시...아래 랜덤으로 게시물 추출 하는 코드를 extend 폴더에 만들어서 놓으신 이후가 아니신지요?

http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=11019&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%B7%A3%B4%FD+%C3%D6%BD%C5%B1%DB&sop=and

본인같은경우, 코드를 파일을 만들어서 extend 폴더에 넣고 실행하니 랜덤으로 게시물은 정상적으로 불러왔으나, 스팸코드 숫자가 다 엑박이 되었습니다.

그래서 latest.lib.php 파일에 직접 추가를 하였습니다.

참고하십시오.
이놈을 만들어서..."extend" 폴더에 넣고 사용을 할려고 보니...
분명 랜덤으로 게시물은 잘 작동하였습니다.
문제는 스팸코드가 글자가 깨지더군요!!
그래서 이놈을 제거 하니, 다시 정상으로 돌아왔습니다.

그래서 아래처럼 해보았습니다.

/lib/lastest.lib.php 파일을 수정에 추가하였습니다. 랜덤부분만...

<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/basic";

    $list = array();

    $sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
    //$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
    // 위의 코드 보다 속도가 빠름
    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_num limit 0, $rows ";
    //explain($sql);
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
   
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

<?
if (!defined('_GNUBOARD_')) exit;

---------------------- 여기부터 추가한 사항 ----------------------------

// 최신글 랜덤 추출
function latest_rand($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="") {
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/basic";

    $list = array();

    $sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by rand() desc limit 0, $rows ";
    //explain($sql);
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
   
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

이렇게 해서 불러오는 형식은 위에 표기되어 있는 데로 하니, 스팸코드가 깨지지 않더군요!!

추천
2

댓글 1개

전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT