소스 코드가 이상하게 변질되어서 파일 기부[ No Bug 파일 완전판] 정보
PHP 소스 코드가 이상하게 변질되어서 파일 기부[ No Bug 파일 완전판]
첨부파일
본문
<?php
$dbconn=mysqli_connect(~);
$block_per_page=10;
$page_per_record=1;
@$page=$_REQUEST['page'];
if( !intval($page) || $page == false || $page == null) { $page=1; }
else { $page=preg_replace('#[^0-9]#','',$_REQUEST['page']);}
$tab=preg_replace('/[^a-z0-9]/','',$_GET['tab']);
$count_check="select count(table_number) as total_pst from board where table_id like '$tab'";
$sql_query=mysqli_query($dbconn,$count_check);
$total_record=mysqli_fetch_assoc($sql_query);
$sql_cnt=stripslashes($total_record['total_pst']);
$total_page=ceil($sql_cnt/ $page_per_record);
$total_block=ceil($total_page / $block_per_page);
$now_block=ceil($page/$block_per_page);
$start_record=intval(($page -1) * $page_per_record);
if($start_record < 1) { $start_record=0;}
else {$start_record=$start_record;}
$start_page=intval(($now_block -1) * $block_per_page)+1;
$end_page=intval($start_page + $block_per_page)-1;
if($end_page >= $total_page) {$end_page == $total_page;}
$info_sql="select * from board where table_id like '$tab' limit $start_record, $page_per_record";
$info_result = mysqli_query($dbconn,$info_sql);
while($tab_data=mysqli_fetch_assoc($info_result) ) {
}
----------------------
$next_page=$page+1;
$prev_page=$page-1;
----------------------
+-뻔할 단어니 그냥 1씩 더하고 빼고
if($page == 1 || $total_page <= 1) {/*1page only*/}
if($page > 1 ) {
if($page < $total_page) {}
else if($page <= $total_page) {
echo "<span id=btn_span ><a href=?tab=$tab&page=1>[First]</a></span>";}
else if(($page <= $total_page) && ($page <= 1)) { }
else {}
}
if($start_page <= $total_page){
if(($start_page <=1) ) {}
else{echo "<span id=btn_span><a href=?tab=$tab&page=$prev_page>[Prev]</a></span>";}}
for($i=$start_page;$i<=$end_page;$i++) {
if($i > $total_page ) {}
else if($i <= $total_page) {echo "<span id=btn_span><a href=?tab=$tab&page=$i>[$i]</a></span>";}
else {}
}
if(($next_page <$total_page) ) { echo "<span id=btn_span><a href=?tab=$tab&page=$next_page>[Next]</a></span>";}
else{}
if($total_page >$page) {echo "<span id=btn_span><a href=?tab=$tab&page=$total_page>[Last]</a></span>";}
else{}
?>
1
댓글 7개


list.php?tab=게시판 아이디
2) 코드가 작동되는지 확인 후 올리셨으면 합니다.
No Bug 완전판이라고 쓰기 전에 최소한 작동되는지는 검토했어야죠.
이 구문이 맞다고 보세요?
if($end_page <= $total_page) {$end_page == $total_page;}

데이터는 않나오고 페이징 숫자는 무한 진행 가능하고. 설마 이 버그를 모르시는 건?
아 / 니 / 겠 / 죠 ?
총 페이지가 100개고
갯수도 10
블록을 10개로 하고..
브레이크 잡는 소스를 않넣으면....
최대 페이지가 10페이지인데.. 계속 진행됩니다 11페이지 12페이지 13페이지 ~~~
경험을 해보지 않으셔서 그렇지요.
이유는 단 하나 : 페이징 진행 숫자
예 PageNo=10 이 마지막이라고 하면.. 그 이상의 숫자를 URL에 바꿔 입력해보고
테스트 해보질 않았다면 그 사이트는 페이징 때문에 해킹당합니다.
버그가 아니라 코드를 잘못 작성하면 그렇게 되는 겁니다.
선생님은 코드를 잘못 적어주신 거고요.
대놓고 말씀드릴게요. PHP에 대한 이해도가 있는 상태에서 적으신 건가요? 전혀 아닌 것 같아서요.
개 / 발 / 자 / 는 / 아 / 니 / 겠 / 죠 / ?

