Tiny Logs 

비밀댓글 보안 처리

타이니 | 2013.07.18 19:44 | 조회 4,307
카테고리분류 : kimsQ Rb v.1.2.0~v.1.2.2

현재 버전에서도 문제가 있을 수 있는 부분 두 가지 정리합니다.

1. 회원 레이어에서 댓글 탭

댓글 모듈을 "댓글 제목 사용" 으로 해 놓으셨다면 문제 없으실 겁니다.
비밀 댓글이라도 제목은 오픈되니까요.
그런데, 제목을 사용 안하시고 댓글 모듈을 운용하신다면, DB에는 댓글 내용의 앞쪽 글 일부분을 제목으로 잘라서 입력합니다.
그렇게 되면 댓글 내용 전체를 비밀로 하고 싶은데 앞 부분이 회원 레이어를 통해 노출 되게 됩니다.





위 캡처 이미지처럼 현재는 비밀댓글의 앞 부분이 노출됨.



아래 파일을 수정해서 위 캡처 이미지처럼 비밀 댓글 앞부분도 노출되지 않도록 합니다.

/modules/home/lang.korean/pages/layer.member1.php 파일

41번째 줄.

<?php echo $_R['subject'];?>

이걸 이렇게.

<?php if($_R['hidden']) echo '비밀댓글입니다.'; else echo $_R['subject'];?>


2. 오픈형 댓글 테마 사용 시

현재 킴스큐 버전에는 오픈형 댓글 테마가 기본으로 안 들어있습니다. 그런데 그 오픈형이 일반적인 댓글 형태라서 많은 분들이 마켓에서 과거 오픈형 테마를 설치하시거나, 직접 제작해 사용하고 계십니다.

오픈형 댓글 테마는 댓글 내용이 list 에서 바로 보이는 구조로, 글을 클릭할 때 비밀글일 경우 사용자 확인을 하지 않고 보여줄 때 확인합니다.
게다가 댓글은 편의상 그 리스트 화면에 댓글쓰기 폼이 있지요.

이런 몇가지 구조적인 문제에 기인해 과거 오픈형 댓글 테마들이 문제가 있습니다. (좀 더 자세한 내용은 생략합니다. 이 문제로 인해 대부분의 오픈형 댓글테마 사용하는 홈페이지의 비밀댓글은 비회원이라도 열람이 가능한 통로가 있어 자세히 설명하면 악용소지가 있으니까요.)

아래 파일을 수정하십시오.

/modules/comment/theme/_pc/사용중인오픈형댓글테마폴더명/_write.php

보통은 _write.php 파일일텐데요. 이 파일이 없다면, 댓글테마안의 글쓰기 부분 뿌려주는 파일을 찾으시면 됩니다.

위 파일의 맨 위에 아래 한 줄 소스를 넣습니다.

<?php if($type!='modify') unset ($R); //20130718 타이니 : 이거 참 보안상 심각하게 문제있는거 일단 급하게 처리 ?>


3. 댓글 제목 보여주는 여러 부분 모두 신경쓰기 싫으시다면 원천적으로 댓글 제목을 바꿔서 디비에 넣는게 좋겠네요.

/modules/comment/lang.korean/action/a.write.php 파일에서

34번째 빈 줄에

$subject    = $hidden ? '비밀댓글입니다.' : $subject; //20130718 타이니 : 비밀글 보안

이렇게 한 줄 넣으면 디비에 가공되어 들어갑니다.


1번 내용과 2번 내용은 별도의 사항입니다.
3번 내용은 1번 내용의 연장선입니다. (1/3번 내용 세트, 2번 내용 별도 ㅠ.ㅠ)

PS.
일단 킴스큐 기본 패키지 안에서는 이렇지만, 만약 다른 확장 익스텐션 사용하면서 댓글 관련해 무언가 보여주는게 있다면 세심히 보시면 좋겠습니다.

크리에이티브 커먼즈 라이선스
22개(1/3페이지) rss


많이 본 글최근 90일내 많이 본 글입니다.
댓글 많은 글최근 90일내 댓글 많은 글입니다.
Tag Cloud
등록된 태그가 없습니다.

Visits Counter
  • 32오늘 방문
  • 96어제 방문
  • 32오늘 페이지뷰
  • 97어제 페이지뷰
  • 2,622이번 달 방문
  • 2,247지난 달 방문