utf-8 환경에서 mysql_real_escape_string 관련 (검색어, 분류) 한글 깨짐 현상
linux + utf-8 환경에서 분류,검색어 등에 한글이 포함될경우
$sql_search = get_sql_search($sca_qq, $sfl_qq, $stx_qq, $sop); // 변수명들에 _qq 꼬리를 붙여줌......
분류명이 "타이틀"일경우 "타이\틀" 처럼 한글이 깨는 문제에 관해
해결방안을 찾아보았습니다.
(개인적 참고용으로 올립니다. 그누보드4.34.10 기준이며, 오류가 있을 수 있습니다. : 적용시 주의)
./common.php
if (isset($sca)) {
$sca_qq = mysql_real_escape_string($sca); // _qq라는 꼬리말이 붙은 $sca_qq라는 새로운 변수 생성
$sca = stripslashes($sca); // $sca에는 슬래쉬가 제거된 문자열을 저장
$qstr .= '&sca=' . urlencode($sca);
}
if (isset($sfl)) {
$sfl_qq = mysql_real_escape_string($sfl);
$sfl = stripslashes($sfl);
$qstr .= '&sfl=' . urlencode($sfl);
}
if (isset($stx)) { // search text (검색어)
$stx_qq = mysql_real_escape_string($stx);
$stx = stripslashes($stx);
$qstr .= '&stx=' . urlencode($stx);
}
if (isset($sst)) {
$sst_qq = mysql_real_escape_string($sst);
$sst = stripslashes($sst);
$qstr .= '&sst=' . urlencode($sst);
}
./bbs/list.php
if ($sca || $stx)
{
$sql_search = get_sql_search($sca_qq, $sfl_qq, $stx_qq, $sop); // 변수명들에 _qq 꼬리를 붙여줌
....
}
....
$stx = get_text($stx); // $stx = get_text(stripslashes($stx)); 이었던것을 수정해줌
include_once("$board_skin_path/list.skin.php");
./bbs/view.php
if ($sca || $stx) {
.......
}
./skin/board/*/list.skin.php (모든 스킨들의 list.skin.php 파일)
<input name="stx" class="stx" maxlength="15" itemname="검색어" required value='<?=stripslashes($stx)?>
위처럼 사용했던 것을 아래와 같이 변경해줌
<input name="stx" class="stx" maxlength="15" itemname="검색어" required value='<?=$stx?>'>
오류, 보안 허점 지적해 주시면 감사하겠습니다.
댓글 5개
14년 전
정말 깊이 감사 드립니다.
아주 애를 먹고 있다가 잘 적용했습니다.
아주 애를 먹고 있다가 잘 적용했습니다.
14년 전
너무 감사요
13년 전
감사합니다 덕분에 해결했네요
9년 전
이게 정답이네요.... 서버옮겼더니 끝에가 깨져서
8년 전
찾고 있던 건데 감사합니다.~~
게시판 목록
그누4 팁자료실
그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3229 | 11년 전 | 4240 | ||
| 3228 |
평범한아빠
|
11년 전 | 9102 | |
| 3227 |
다케미카코
|
11년 전 | 5375 | |
| 3226 | 11년 전 | 10947 | ||
| 3225 | 11년 전 | 6109 | ||
| 3224 | 11년 전 | 7618 | ||
| 3223 |
다케미카코
|
11년 전 | 11663 | |
| 3222 | 11년 전 | 5181 | ||
| 3221 | 11년 전 | 5314 | ||
| 3220 | 11년 전 | 7091 | ||
| 3219 |
다케미카코
|
11년 전 | 4275 | |
| 3218 |
다케미카코
|
11년 전 | 4785 | |
| 3217 | 11년 전 | 4981 | ||
| 3216 |
다케미카코
|
11년 전 | 11450 | |
| 3215 | 11년 전 | 4873 | ||
| 3214 | 11년 전 | 7989 | ||
| 3213 | 11년 전 | 2656 | ||
| 3212 | 11년 전 | 5412 | ||
| 3211 | 11년 전 | 4825 | ||
| 3210 | 11년 전 | 10021 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기