검색어가 깨질때 - mysql_real_escape_string()
이미지와 같이 검색기능 등을 사용할때 검색 목록은 이상없이 출력되는데, 검색필드에 나오는 글자가 깨져나오는 경우가 있었다.
$_POST 를 찍어봐도 이상이 없고, 쿼리는 이상이 없이 처리 된걸 보니 값이 넘어갈때는 이상이 없는데,
페이지에서 뭔가 해당 변수에 대한 조작이 일어나는 것 같아서 찾아보니
common.php 파일에서
if (isset($stx)) { // search text (검색어)
$stx = mysql_real_escape_string($stx);
$qstr .= '&stx=' . urlencode($stx);
}
위와같이 검색어에 대한 인젝션 공격 대응으로 mysql_real_escape_string() 을 사용한다.
다만, 이 함수가 여러 환경에서 테스트 해본 것은 아니지만, euc-kr 로 셋팅된 서버에서 utf-8 로 DB와 SITE를 운영할때 문제가 되는 것 같다.
UTF-8로 셋팅된 서버에서는 동일한 소스로 아무런 문제가 없었다.
비슷한 문제를 찾고계신분이 있으시면 도움이 되셨으면 좋겠습니다.
$_POST 를 찍어봐도 이상이 없고, 쿼리는 이상이 없이 처리 된걸 보니 값이 넘어갈때는 이상이 없는데,
페이지에서 뭔가 해당 변수에 대한 조작이 일어나는 것 같아서 찾아보니
common.php 파일에서
if (isset($stx)) { // search text (검색어)
$stx = mysql_real_escape_string($stx);
$qstr .= '&stx=' . urlencode($stx);
}
위와같이 검색어에 대한 인젝션 공격 대응으로 mysql_real_escape_string() 을 사용한다.
다만, 이 함수가 여러 환경에서 테스트 해본 것은 아니지만, euc-kr 로 셋팅된 서버에서 utf-8 로 DB와 SITE를 운영할때 문제가 되는 것 같다.
UTF-8로 셋팅된 서버에서는 동일한 소스로 아무런 문제가 없었다.
비슷한 문제를 찾고계신분이 있으시면 도움이 되셨으면 좋겠습니다.
댓글 2개
너모야민쯩까
9년 전
감사합니다. 이문제로 질문도하고 했느데 엉뚱한 답변들만 하시더라구요,,
님 덕분에 깔끔하게 해결됐습니다~
님 덕분에 깔끔하게 해결됐습니다~
9년 전
도움이 되셨다니 다행입니다~ ^^
게시판 목록
그누4 팁자료실
그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3229 | 11년 전 | 4240 | ||
| 3228 |
평범한아빠
|
11년 전 | 9102 | |
| 3227 |
다케미카코
|
11년 전 | 5374 | |
| 3226 | 11년 전 | 10947 | ||
| 3225 | 11년 전 | 6109 | ||
| 3224 | 11년 전 | 7618 | ||
| 3223 |
다케미카코
|
11년 전 | 11662 | |
| 3222 | 11년 전 | 5181 | ||
| 3221 | 11년 전 | 5314 | ||
| 3220 | 11년 전 | 7091 | ||
| 3219 |
다케미카코
|
11년 전 | 4275 | |
| 3218 |
다케미카코
|
11년 전 | 4785 | |
| 3217 | 11년 전 | 4981 | ||
| 3216 |
다케미카코
|
11년 전 | 11450 | |
| 3215 | 11년 전 | 4872 | ||
| 3214 | 11년 전 | 7989 | ||
| 3213 | 11년 전 | 2656 | ||
| 3212 | 11년 전 | 5412 | ||
| 3211 | 11년 전 | 4824 | ||
| 3210 | 11년 전 | 10021 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기