스팸코드 혹은 자동가입 방지 깨지시는분...중에...
혹시...아래 랜덤으로 게시물 추출 하는 코드를 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 팁자료실
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3309 | 3년 전 | 1805 | ||
| 3308 | 11년 전 | 2092 | ||
| 3307 |
uPAmJ903
|
6년 전 | 4751 | |
| 3306 |
바른사나이
|
6년 전 | 3274 | |
| 3305 | 6년 전 | 12311 | ||
| 3304 | 7년 전 | 3705 | ||
| 3303 | 7년 전 | 3744 | ||
| 3302 |
지리산초보
|
7년 전 | 13597 | |
| 3301 |
sozet
|
8년 전 | 4904 | |
| 3300 |
sozet
|
8년 전 | 5974 | |
| 3299 |
sozet
|
8년 전 | 10863 | |
| 3298 | 8년 전 | 4017 | ||
| 3297 |
또치하우스
|
8년 전 | 4444 | |
| 3296 | 8년 전 | 11972 | ||
| 3295 |
또치하우스
|
8년 전 | 14987 | |
| 3294 | 8년 전 | 6027 | ||
| 3293 | 8년 전 | 5592 | ||
| 3292 |
|
9년 전 | 5318 | |
| 3291 | 9년 전 | 13682 | ||
| 3290 | 9년 전 | 5054 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기