[TatterTools] 리퍼러 로그 한글코드 변환하기
그냥 장난같은 코드임!
리퍼러 로그란 A라는 페이지에서 B라는 페이지로 이동했을 때, B 입장에서 A를 리퍼러로 간주하게 된다. 다시 말해서 리퍼러 로그는 내 홈페이지에 접근한 인터넷 사용자들이 도대체 어떤 사이트에서 내 홈페이지를 찾아서 들어온 것인지를 확인할 때 사용하는 로그이다.
태터툴즈는 관리자 페이지에서 통계보기 기능을 제공하는데, 여기에도 리퍼러 로그가 있다.
그런데 태터툴즈의 리퍼러 로그는 너무나도 충실하게 ASCII 코드 이외의 문자코드를 URL 인코딩된 %F8%AA…등의 문자로 보여주기 때문에 방문자들이 검색엔진에서 어떤 한글 키워드로 검색했는지 알기 어렵다.
그래서 URL 일부를 한글로 잘 보여주는 코드를 만들어봤는데, 다음과 같다. 다음 코드는 tt 디렉토리의 admin 디렉토리에 있는 statistics_log.php의 일부이다. 파란색으로 표시된 부분이 수정된 것이다. 귀찮아서 “UTF-8″이라는 문자열이 URL 중에 나오는 것만을 UTF-8에서 EUC-KR로 변환처리했다.
<tr><td height=”40″ style=”padding:5 0 0 8″>최근 이틀간의 리퍼러 로그>
입니다. 그 이전의 로그는 자동으로 삭제되며 카운터나 리퍼러 순위에는 전혀 영향을 끼
치지 않습니다.</td></tr>
<?
$sql = “select refer, regdate from t3_”.$dbid.”_referlog order by no desc”;
// print $sql;
$result = @mysql_query(sql);
while(list($refer, $regdate) = @mysql_fetch_array($result)) {
if (strstr($refer, “utf-8”) or strstr($refer, “UTF-8”)) {
$decoded_refer = iconv(“utf-8”, “euc-kr”, rawurldecode($refer));
} else {
$decoded_refer = rawurldecode($refer);
}
?>
<tr><td height=”1″ style=”padding:0; background-image:url('../images/dot_width2.gif')”></td></tr>
<tr><td class=”rowdate” style=”padding:4 0 4 8;color:#305090″><font color=”black”><?=get_timevalue1($regdate).” “.get_timevalue2($regdate)?> | </font> <a href=# onclick=”window.open('<?=$refer?>'); return false;”><?=str_cut($decoded_refer,100,0)?></a></td></tr>
입니다. 그 이전의 로그는 자동으로 삭제되며 카운터나 리퍼러 순위에는 전혀 영향을 끼
치지 않습니다.</td></tr>
<?
$sql = “select refer, regdate from t3_”.$dbid.”_referlog order by no desc”;
// print $sql;
$result = @mysql_query(sql);
while(list($refer, $regdate) = @mysql_fetch_array($result)) {
if (strstr($refer, “utf-8”) or strstr($refer, “UTF-8”)) {
$decoded_refer = iconv(“utf-8”, “euc-kr”, rawurldecode($refer));
} else {
$decoded_refer = rawurldecode($refer);
}
?>
<tr><td height=”1″ style=”padding:0; background-image:url('../images/dot_width2.gif')”></td></tr>
<tr><td class=”rowdate” style=”padding:4 0 4 8;color:#305090″><font color=”black”><?=get_timevalue1($regdate).” “.get_timevalue2($regdate)?> | </font> <a href=# onclick=”window.open('<?=$refer?>'); return false;”><?=str_cut($decoded_refer,100,0)?></a></td></tr>
댓글 3개
lunamoth
좋은 정보 감사드립니다. 그런데
Fatal error: Call to undefined function: () in /home1/lunabiz/public_html/admin/statistics_log.php on line 31
라고 나오는데;; 어떤게 잘못된것인지 궁금합니다…
토끼군
lunamoth: $rawurldecode 앞의 $를 빼세요.
Terzeron
하하, 이거 이상하군요. 제 원본 코드에는 없는데 말이죠. 아마 제가 복사하다가 잘못 넣었나 봅니다. 토끼군님, 감사합니다.