리자님 그누보드 UTF-8 버전 버그 > 자유게시판

자유게시판

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

리자님 그누보드 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 .= "&sst=$sst";
if (isset($sod)) $qstr .= "&sod=$sod";
if (isset($sfl)) $qstr .= "&sfl=$sfl";
if (isset($stx)) $qstr .= "&stx=$stx";
if (isset($page)) $qstr .= "&page=$page";
//$qstr = "sst=$sst&sod=$sod&sfl=$sfl&stx=$stx&page=$page";
 
 
추천
0
  • 복사

댓글 9개

php 버전에 따라서 차이가 있는것같더라구요
PHP Version 5.2.9 버전에서는 깨지고
PHP Version 5.2.9p2 여기서 는 안깨지더라구요
보니까 기본 basic 게시판에는 아래처럼 처리하셨네요
다른곳은 안되어져있구요
<input type='text' name='stx' id='stx' size='20' maxlength='20' class='text' value='<?=stripslashes($stx)?>' />
© SIRSOFT
현재 페이지 제일 처음으로