최근 애드센스 무효트래픽 발생으로 인해서 회원의 로그인 ip 확인이 꼭 필요해 져서 로그인기록 모듈의 관리자가 열람할 수 있는 회원 로그인기록을 출력해서 보니 데이터가 엉뚱하게 출력되고 있는 것을 확인했습니다.
이게 라이믹스에서만 발생하는 문제인지 모르겠는데 일단 최근 발견했고 제가 발견한 라이믹스 버전은 1.9 버전입니다.
이미지의 글자가 잘 안보이실텐데 클릭해서 보면 보일 겁니다.
지금 ip가 안보이는 컬럼이 있고 또 날짜를 보면 이상합니다. 뭔가 이상하죠?? 최근 로그인 날짜가 들어가 있어야 할 자리에 2012년 이라니요..
지금 보니 뭔가 컬럼의 참조가 잘못된거 같아서 쿼리를 찾아보았습니다.
관리자페이지 에서 회원들 로그인 기록을 볼때 사용하는 쿼리파일은
/modules/loginlog/queries/getLoginlogListWithinMember.xml
위 파일입니다.
열어보니
<columns>
<column name="member.*" />
<column name="loginlog.*" />
</columns>
회원테이블과 조인되어 회원테이블의 데이터와 비교해서 각 테이블의 모든 컬럼을 참조하게 되어있는데...
혹시나 해서 아래 조건에 맞는 컬럼만 따로 등록해보았습니다.
<columns>
<column name="member.user_id" />
<column name="member.user_name" />
<column name="member.nick_name" />
<column name="member.is_admin" />
<column name="loginlog.*" />
</columns>
이렇게 말이죠.
그랬더니 이렇게 제대로 된 컬럼에서 데이터를 가져와서 출력을 해주는 것으로 정상화 되었습니다.
저도 프로그래밍을 하는 사람이 아니다 보니 그냥 의심되는 부분을 고쳐보니 이렇게 원하는 데이터가 출력이 잘 되어서 이렇게 일단 공유를 합니다.
그룹별로 따로 출력할때 필요한 파일
/modules/loginlog/queries/getLoginlogListWithinMemberGroup.xml
위 파일도 비슷하게 고쳐야 할 것 같습니다.