블로그

[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>

댓글 3개

답글 남기기