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

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

· 14년 전 · 4188 · 9
리자님 인젝션 때문에 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)?>' />

게시글 목록

번호 제목
1717438
1717431
1717422
1717414
1717412
1717407
1717401
1717393
1717386
1717379
1717378
1717365
1717364
1717360
1717359
1717346
1717344
1717333
1717327
1717313
1717312
1717310
1717307
1717306
1717304
1717291
1717283
1717280
1717268
1717265