최근에 댓글의 국적을 표시해야한다는 이슈가 있더군요.
갑자기 생각나서 수정해봤습니다.
애드온으로 제작해볼까 하다가 스킨 수정으로 방향을 잡았습니다.
우선 곰님의 구충제 모듈이 설치되어있어야 동작합니다.
https://github.com/poesis/rhymix-allbandazole
아직 설치하지 않으신 분은 구충제 먼저 복용하시고...
스케치북 스킨 폴더로 이동해서 화일을 하나 만듭니다.
|
|
저는 __class.html이라는 이름으로 만들었습니다.
__setting.html의 마지막줄에
<include target="__class.html" />
을 추가해서 화일을 불러옵니다.
_read.html 수정
<div class="side fr">
<small cond="$grant->manager || $mi->display_ip_address" class="m_no">({$oDocument->getIpaddress()}) </small>
<small class="m_no">{IPFlag::getCountryCode($oDocument->variables['ipaddress'])}</small> //추가
38번줄쯤 글쓴이의 ip 주소를 표시하는 부분 바로뒤에 한줄을 추가합니다.
댓글에도 표시하려면
<span class="date">{getTimeGap($comment->get('regdate'), "Y.m.d H:i")}</span>
<small cond="$grant->manager || $mi->display_ip_address" class="m_no">({$comment->getIpaddress()})</small>
<small class="m_no">{IPFlag::getCountryCode($comment->variables['ipaddress'])}</small> // 추가
_comment.html의 29번줄 쯤의 IP 주소 표기부분 바로 뒤에 한줄을 추가합니다.
정상적으로 수정이 되었다면


아빠팬더곰은 영원한 초보
댓글 3
외부에 GeoIP 요청을 할 필요가 없으니 편리하기는 한데, 이게 그다지 정확하지가 않습니다. ㅎㅎ
해외에는 다국적 통신사나 글로벌 클라우드 플랫폼이 많거든요.
이 경우, 구충제 모듈의 DB를 사용하면 본사가 위치한 국가로 뜨게 됩니다.
구충제 모듈 입장에서는 한국 빼고 적당히 다 차단하면 그만이고, 클라우드는 별도로 처리하니 상관없지만
자칫 분쟁이 발생할 수 있는 댓글 국가 표시에 활용하기에는 영 애매하단 말이죠.
국가 표시 수요가 더 많아지거나, 아예 법으로 요구하는 막장 상황이 된다면
유료 DB를 사와서 서비스하는 등, 대안을 마련해 보려고 합니다.
서버에 PHP와 아파치에 GeoIP가 설치되 있어서 비교해보니까 차이가 좀 있더군요.
일단 KR이 아닌 것만 확인해도 어딥니까?
https://dev.maxmind.com/geoip/importing-databases/mysql/
이거는 라이선스 문제가 없을라나요?
무료 버전을 개인적으로 쓴다면 문제가 없는 것으로 알고 있습니다만,
그걸 모듈에 담아서 배포한다면 얘기가 다르죠. ㅎㅎ
게시판의 팁을 각자 따라하는 수밖에?