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

리자님 그누보드 UTF-8 버전 버그

리자님 인젝션 때문에 mysql_real_escape_string 함수 common.lib.php 에 심으셨잖아요
UTF-8버전에서 아래 부분에서 mysql_real_escape_string 요것때문에
stx 필드 검색했을때 한글깨짐 현상이 나타나요
 
$stx = mysql_real_escape_string($stx);
$qstr .= '&stx=' . urlencode($stx);
 
아래처럼 바꾸고
 
$stx = mysql_real_escape_string($stx);
$qstr .= '&stx=' . urlencode(stripslashes($stx));
 
검색 들어간부분에 <?=stripslashes($stx);?> 로 바꺼야되는 아닌가요
 
그리고 admin.lib.php 하단에 $qstr 변수 재선언하는 부분이있어서
common.php 것을 같이 사용할수가없네요 기본에서는 빼야되는게 맞는것같은데요
 
$qstr = "";
if (isset($sst)) $qstr .= "&amp;sst=$sst";
if (isset($sod)) $qstr .= "&amp;sod=$sod";
if (isset($sfl)) $qstr .= "&amp;sfl=$sfl";
if (isset($stx)) $qstr .= "&amp;stx=$stx";
if (isset($page)) $qstr .= "&amp;page=$page";
//$qstr = "sst=$sst&sod=$sod&sfl=$sfl&stx=$stx&page=$page";
 
 

댓글 작성

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

로그인하기

댓글 9개

http://sir.co.kr/bbs/board.php?bo_table=cm_free&sca=&sfl=wr_subject&stx=%EB%A6%AC%EC%9E%90%EB%8B%98&sop=and
에러가 나는 주소를 알려주십시오.
php 버전에 따라서 차이가 있는것같더라구요
PHP Version 5.2.9 버전에서는 깨지고
PHP Version 5.2.9p2 여기서 는 안깨지더라구요
sir 에서는 잘되니
PHP Version 5.2.9 버전에 utf-8버전 설치되어져있는곳을 예제로 남겨드릴께요
3글자 이상 검색했을때 깨지는것을 보실수있습니다.
admin // 1228

http://vozzang.bizjeju.com/adm/tour_admin/g_airline_data_list.php?sfl2=airline_uid&stx2=&sfl=schedule_start_area&stx=%EC%A7%84%EC%97%90%EC%96%B4
해당 페이지의 소스를 보면 euc-kr 과 utf-8 이 섞여 있는것으로 보입니다.
흠.. 안섞여져있는데 이상하네요 (어딜 보시고 섞여져있다고 말씀하시는거예요?)
아래 링크 보시면 utf-8기본 게시판상단인데요 재가 상단에 검색 이전 이후 넣어놨습니다.

http://vozzang.bizjeju.com/bbs/board.php?bo_table=test&sca=&sop=and&sfl=wr_subject%7C%7Cwr_content&stx=%EC%A7%84%EC%97%90%EC%96%B4&sop=and
엇! 제가 실수했네요.
원인을 알았으니 코드를 점검해 보겠습니다.
감사합니다.
네 이미
bbs/list.php 파일 재일 하단에도 아래 코드가 심어져있습니다.

$stx = get_text(stripslashes($stx));
깨지는 곳 있으면 주소를 좀 알려주십시오. 감사합니다.
보니까 기본 basic 게시판에는 아래처럼 처리하셨네요
다른곳은 안되어져있구요
<input type='text' name='stx' id='stx' size='20' maxlength='20' class='text' value='<?=stripslashes($stx)?>' />

게시판 목록

자유게시판

글쓰기
🐛 버그신고