그누보드 $page변수의 음수(?) 제거 의견안 정보
그누보드 $page변수의 음수(?) 제거 의견안
본문
그누보드 페이지 변수의 음수의 활용이 필요없지 않을까 하는 생각이 드는데
다른 그누님들의 의견은 어떨지 모르겠군요.
예) 본인의 홈피나 그누보드 아무사이트에 접근후 테스트(sir제외)
http://도메인/bbs/board.php?bo_table=테이블명&page=-99999
==>
select mb_id, wr_id, wr_subject, wr_option, wr_content, wr_comment, wr_parent, wr_datetime, wr_last, wr_name, wr_reply, ca_name, wr_hit, wr_good, wr_1, wr_2, wr_3, wr_4, wr_5, wr_6, wr_7, wr_8, wr_9, wr_10 where wr_is_comment = 0 order by wr_num, wr_reply limit -60, 20
제 짧은 소견에는 음수 사용을 아예 막는것이 좋지 않나 싶습니다.
현제 그누보드 사이트에서는 음수 사용시 구글 사이트로 날아 가게 되어 있네요.
제가 제안하고자 하는 방법은
########### 기존 소스 : common.php #############
if (isset($page)) { // 리스트 페이지
$page = (int)$page;
$qstr .= '&page=' . urlencode($page);
}
########### 변형 소스 : common.php #############
if (isset($page)) { // 리스트 페이지
$page = abs((int)$page); // 페이지 절대값으로 전환(음수사용금지)
$qstr .= '&page=' . urlencode($page);
}
상기와 같이 음수접근시 에러가 발생할수 있습니다. 물론 어떤 문제나 잠재적인 것이 숨겨진 것은 잘모르겠지만 불필요하다 생각이 들더라구요. (보안 점검툴에 불량으로 나옴:이는 에러발생의 원인을 근본적으로 차단하라는 지적사항)
이상입니다. 혹시 다른 의견이나 좀더 낳은방법이 잇으시다면 공유 부탁드립니다. ^^*
좋은하루되세요.
# 추가적인 과제
좀더 낳아가서 page값의 맥스 값도 제한하는것이 어떨지 하는데 페이지의 최대치 값은 어떻게 두는게 좋을까요? 최대치값에대한 고민후 뎃글올리도록 하겠습니다. 혹시나 그누유저분들중에 최대치값에 대하여 조언 가능하시다면 조언 부탁드립니다. ^^* (이유 : &page=99999999999999999999999999999999999999999999999999 <= 이넘도 에러발생)
다른 그누님들의 의견은 어떨지 모르겠군요.
예) 본인의 홈피나 그누보드 아무사이트에 접근후 테스트(sir제외)
http://도메인/bbs/board.php?bo_table=테이블명&page=-99999
==>
select mb_id, wr_id, wr_subject, wr_option, wr_content, wr_comment, wr_parent, wr_datetime, wr_last, wr_name, wr_reply, ca_name, wr_hit, wr_good, wr_1, wr_2, wr_3, wr_4, wr_5, wr_6, wr_7, wr_8, wr_9, wr_10 where wr_is_comment = 0 order by wr_num, wr_reply limit -60, 20
1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-60, 20' at line 1
error file : /bbs/board.php
제 짧은 소견에는 음수 사용을 아예 막는것이 좋지 않나 싶습니다.
현제 그누보드 사이트에서는 음수 사용시 구글 사이트로 날아 가게 되어 있네요.
제가 제안하고자 하는 방법은
########### 기존 소스 : common.php #############
if (isset($page)) { // 리스트 페이지
$page = (int)$page;
$qstr .= '&page=' . urlencode($page);
}
########### 변형 소스 : common.php #############
if (isset($page)) { // 리스트 페이지
$page = abs((int)$page); // 페이지 절대값으로 전환(음수사용금지)
$qstr .= '&page=' . urlencode($page);
}
상기와 같이 음수접근시 에러가 발생할수 있습니다. 물론 어떤 문제나 잠재적인 것이 숨겨진 것은 잘모르겠지만 불필요하다 생각이 들더라구요. (보안 점검툴에 불량으로 나옴:이는 에러발생의 원인을 근본적으로 차단하라는 지적사항)
이상입니다. 혹시 다른 의견이나 좀더 낳은방법이 잇으시다면 공유 부탁드립니다. ^^*
좋은하루되세요.
# 추가적인 과제
좀더 낳아가서 page값의 맥스 값도 제한하는것이 어떨지 하는데 페이지의 최대치 값은 어떻게 두는게 좋을까요? 최대치값에대한 고민후 뎃글올리도록 하겠습니다. 혹시나 그누유저분들중에 최대치값에 대하여 조언 가능하시다면 조언 부탁드립니다. ^^* (이유 : &page=99999999999999999999999999999999999999999999999999 <= 이넘도 에러발생)
추천
0
0
댓글 2개

보고있는 테이블의 최대 페이지값을 구해서
만약 테이블의 최대 페이지값이 넘으면 페이지값은 1로 바꿔주면 어떤가요?
최대페이지값을 구하는것이 별도에 쿼리를 해야 하거나 하진 않겠지요?
만약 테이블의 최대 페이지값이 넘으면 페이지값은 1로 바꿔주면 어떤가요?
최대페이지값을 구하는것이 별도에 쿼리를 해야 하거나 하진 않겠지요?

아갈님. 좋은생각이군요.
전체 카운팅 구문이 들어갈때 속도차이를 봐야 겠군요.
해당 소팅부분에 전체 카운팅 구문을 보고 추가적으로 제약 사항을 넣는 것으로 생각해 봐야 겠네요.
테스트후 올려놓겠습니다.
전체 카운팅 구문이 들어갈때 속도차이를 봐야 겠군요.
해당 소팅부분에 전체 카운팅 구문을 보고 추가적으로 제약 사항을 넣는 것으로 생각해 봐야 겠네요.
테스트후 올려놓겠습니다.