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

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

혹시...아래 랜덤으로 게시물 추출 하는 코드를 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;
}
?>

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

댓글 작성

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

로그인하기

댓글 1개

게시물 전체가 랜덤으로 나오는거 같은데...님은 ?

게시판 목록

그누4 팁자료실

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