모듈

회원 분리하기 모듈

추천 수 3 댓글 36
Extra Form
자료 소개 차단한 회원과 차단 당한 회원의 게시물이 서로에게 표시되지 않도록 차단하는 기능을 제공해주는 모듈입니다.
설치 경로 ./modules/member_divide
테스트 환경 Rhymix 2.0
라이선스 GPL v2
이름 버전 날짜 다운수
member_divide.1.1.3.zip 1.1.3 2022-05-16 74
member_divide.v1.1.2.zip 1.1.2 2021-09-28 56

v1.1.3을 올렸습니다. 

팝업일때와 회원정보 페이지를 볼때 스킨을 서로 다르게 적용할 수 있도록 수정했습니다.

약간의 버그를 고쳤습니다.

스킨 호환성을 약간 올렸습니다.

--------------------------------------

v1.1.2을 올렸습니다. 

분리 회원이 있는지 없는지 판단하는 쿼리에 오류가 있었습니다.

급하게 수정해서 올립니다.

중간에 버그가 많았으니 꼭 마지막 버젼을 써주세요.

------------------------------------

v1.0.9을 올렸습니다. 

1.0.8에서 추가된 서버단에서 댓글을 다시 한번 체크하는 과정에서 버그가 있었습니다.

------------------------------------

v1.0.8을 올렸습니다. 

1) 관리자는 분리하기에서 예외가 됩니다.

2) 브라우저에서 스크립트를 조작해서 분리하기를 뚫더라도 댓글을 달때 서버단에서 다시 한번 체크해서 분리된 유저가 댓글을 달지 못하도록 했습니다.

3) 설정화면에 버그가 있었습니다... 

------------------------------------

v1.0.7을 올렸습니다. 

DOM 조작에 따른 화면 깜빡임을 막기 위해서 약간의 방지코드를 넣었습니다.

호환성 문제가 있기 때문에 default로는 off로 되어 있습니다.

설정 화면에 들어가서 2가지 깜빡임 방지 방식 중 하나를 고르세요.

------------------------------------

v1.0.6을 올렸습니다. 

방명록 형태의 게시판에 대응하기 위해서

게시글 본문이 분리된 경우 무조건 history.back()을 하는게 아니라

게시글 본문을 숨김처리할 수 있도록 게시판별로 선택 가능하도록 했습니다.

------------------------------------

제가 모듈 배포는 처음이라서 큰 실수를 했습니다.

$log 로그 라이브러리 사용한 코드를 남겨둔 문제와 테이블 설정에서 오류가 있어서

설치 과정에서 꼬여서 에러가 나셨을겁니다.

설치 과정 중간에 꼬인거라 정상적인 상황이 아니어서 어떤 상황인지 모르겠다보니 디버깅이 어렵네요.

아마 문제를 해결한 것으로 보입니다. 일단 설치하셨다가 에러 나시는 분들 먼저 받아서 테스트해보시면 좋겠습니다.

----------------------------------

회원 분리하기 모듈입니다.

제가 만들고 있는 커뮤니티 사이트에 채용할려고 만든 기능인데 이 분리하기 기능 만큼은 가급적이면 여기저기서 많이 써줬으면 하는 바램에 미리 공개합니다. 뭐 다른 모듈들도 나중에 다 공개할 생각이긴 합니다만...

 

회원 분리하기는 몇년전에 그누보드로 운영하던 제 사이트에서 실험적으로 만들어봤었고 회원들에게서 좋은 반응을 얻었었습니다. 그누보드에선 이 기능을 배포/재활용 가능한 모듈 형태로 만들 방법이 없었고 XE/라이믹스 모듈로는 진작부터 만들고 싶었는데 오랫동안 미뤄오다가 이제서야 모듈 제작을 공부해서 만들게 되었네요. 이 모듈의 제작에는 기존 회원 차단하기 모듈이 많은 도움이 되었습니다. 문서 하나 없이 기존 모듈 소스 분석하는 식으로만 공부하다보니 꽤 힘들었네요. 마지막 남은 버그가 [모바일에 최적화된 화면으로 보기]가 자꾸 화면 밑에 뜨는거였는데 알고 보니 member_divide.mobile.php 파일이 없어서 일어난 단순한 버그... 아 이걸 역으로 디버깅해서 알아내려니 참 짜증이...

 

하여튼 그럼 회원 분리하기가 회원 차단하기와 뭐가 다르냐?

 

일단 기존의 회원 차단하기는 따지고 보면 굉장히 무례한 기능이었습니다.

뭐 물론 차단당한 사람이야 내가 차단당했다는 것도 모를테지만 어쨌든 일방적으로 차단당한다는건 굉장히 무시당하는 느낌이라서... 내가 차단당했다는걸 알았을때 화 안날 사람 드물겁니다.

 

게다가 차단한 사람 입장에서도 굉장히 찝찝한 기분입니다. 예를 들면 내 글에 악성댓글을 남기는 누군가를 차단했다고 치죠. 이제 차단당한 사람의 쓴 댓글은 나한테는 안보입니다. 하지만 나한테 안보인다고 해서 그 댓글이 정말 사라진건가요? 여전히 남아있잖습니까? 나는 못보지만 제삼자들은 여전히 그 댓글을 보고 있죠. 내 욕을 하던 그 댓글을 제 삼자들은 여전히 잘 보고 있다 그 말입니다. 그걸 생각하면 차단이란건 그냥 눈가리고 아웅이라는 생각밖에 안듭니다. 물론 일단 내 눈에 안뜨이면 받는 스트레스가 줄어드는건 맞습니다만 본질적인 문제 해결과는 거리가 있죠. 

 

게다가 성능의 문제도 있습니다. 이게 서버에 부하를 굉장히 많이 주는 기능입니다. 그래서 다른 사이트의 예를 들면 클리앙은 최대 13명, 루리웹은 최대 100명만 지원합니다. 회원 차단하기 모듈 원본도 최대 인원이 디폴트 20명이었습니다. 그렇게 자주 쓰는 기능도 아니지만 진짜 맘먹고 써볼려고 해도 사실 최대 차단 인원이 너무 적죠. 대형 사이트 상주인원을 생각해보면 고작 이정도 인원을 차단한다 한들 큰 의미가 없습니다.

 

회원 분리하기는 놀랍게도 이런 문제를 모두 해결하였습니다!!

 

회원 분리하기는 간단히 요약하자면 쌍방 차단입니다.

내가 X라는 회원을 차단하면 나 역시 X라는 회원으로부터 차단당하는 식입니다.

X가 쓴 글을 내가 볼 수도 없지만, 그 대신 내가 쓴 글을 X가 보는 것도 불가능합니다.

서로 상대방이 쓴 글을 볼 수 없다?

즉 두 사람은 하나의 사이트를 접속했지만 실제로는 완전히 서로 다른 세계를 경험하고 있다고 봐도 무방합니다. 두 사람의 세계는 [분리]된 것입니다. 그런 의미에서 이 기능의 이름은 회원 분리하기 입니다.

 

이 기능은 일방적이지 않기 때문에 기분이 나쁠 일도 별로 없습니다. 

내가 차단을 [당한게] 아닙니다. 내가 뭔가의 조치를 나도 모르는 사이에 일방적으로 당한게 아니라 나도 너도 다 같이 똑같은 조치를 당한겁니다. 이런 식으로 생각하면 기분나쁠 일이 많이 줄어들죠. 

 

그리고 이런 식으로 서로의 세계가 완전히 분리되면 더이상 문제가 발생할 소지가 없습니다. 저 사람은 나의 세계에서 완전히 사라졌기 때문에 내 글을 보지도 못하고 내 글에 댓글을 달 수도 없습니다. 악성 댓글이 내 눈에만 안보이는게 아니라 그 사람이 내 글에 악성댓글을 달 가능성이 미래에 완전히 사라지는겁니다. (이미 작성되어있는 과거의 댓글들이야 그냥 안보일뿐인건 마찬가지지만요.. 뭐 그건 어쩔 수 없죠)

 

게다가 이 기능은 컨텐츠를 만들어내는 사람에게 굉장히 유용합니다.

예를 들면 좋은 자료를 올려주는 우량 회원 A님이 계십니다. 이 분은 사이트에 크게 도움이 되는 분인데 이 분이 올리는 글에 깐족대는 댓글을 달아대는 B라는 놈이 있습니다. A님의 고마움도 모르고 B는 A를 괴롭힙니다. 여기서 관리자가 그리고 A회원이 할 수 있는 일이 뭐가 있을까요? 별로 없습니다. B가 선을 넘지 않는 이상 말입니다.

하지만 회원 분리하기 기능이 있다면? A회원이 B회원과 분리하면 그만입니다.

B회원은 이제 A회원이 올려주는 양질의 자료를 아예 볼 수 조차 없게 되었습니다. A회원은 더이상 스트레스를 받지 않을뿐더러 자기 자료를 B회원한테 보여주지 않게 됨으로써 작은 복수까지 성공한 셈이 되었네요? 아주 기쁜 일입니다.

 

마지막으로 성능에 관해서 말씀드리겠습니다.

회원 분리하기는 성능 문제를 해결하기 위해서 처리를 서버에서 하지 않고 클라이언트로 옮겼습니다. 그 결과 어마어마한 처리 성능을 가지게 되었습니다. 제가 테스트로 3000명을 분리해봤습니다만 아무 문제 없었습니다. 

 

아 물론 클라이언트에서 하다보니 크롬의 개발자 모드를 좀 다룰 줄 안다면 귀찮기는 해도 깨버릴 수 있기는 합니다... 하지만 뭐 그렇게까지 해서 나하고 분리된 회원의 글을 읽으려고 할 사람이 얼마나 있겠습니까? 애초에 보안과는 아무 상관이 없는 기능이고, 자기와 분리된 회원의 글을 읽으려고 그렇게까지 한다면 그건 그거대로 비참한 짓 아니겠습니까?

 

그리고 마지막으로 회원 분리하기 기능이 가지는 자그마한 추가 장점은..

원래 서버단에서 처리하는 차단하기 기능은 기본적으로 로그인이 되어 있지 않으면 처리 자체가 불가능합니다. 그래서 로그인 안되어 있으면 차단된 회원의 불쾌한 글을 우연히 다시 볼 수 있는 가능성이 있죠. 하지만 회원 분리하기 기능은 로그인이 안되어 있어도 작동합니다. 왜냐면 분리 목록이 localStorage에 남기 때문이죠. 그래서 로그인이 풀려도 우연이라도 분리된 회원을 다시 볼 일은 없습니다.

 

참고로 이 기능이 내부적으로 어떤 식으로 동작하는지 말씀드리겠습니다.

 

rx_member의 extra_vars에 divide_update_dt라는 필드를 추가적으로 만듭니다.

이건 분리하기 목록이 마지막 업데이트된 일시를 기록합니다.

그리고 이 divide_update_dt를 매번 meta태그를 통해서 클라이언트로 전달합니다.

클라이언트는 이 divide_update_dt를 이용해서 자기가 가진 분리목록이

최신이 아닌 경우 ajax를 통해 분리목록을 업데이트합니다.

그리고 모든 페이지에서 자동으로 localStorage로부터 분리목록을 로드해서

DOM을 조작해서 분리된 회원이 작성한 글을 가려줍니다.

이게 가능한 이유는 XE/라이믹스는 게시판 목록 같은걸 만들때 

member_{$member_srl} 이라는 CSS 클래스 형태로

이게 어떤 회원에 의해 만들어진건 자료인지 흔적을 남겨둡니다.

이게 있기에 클라이언트에서 DOM만 쳐다보고도 처리가 가능한거죠. 

그누보드에는 이런게 없어서 따로 추가해줘야 했었는데

XE/라이믹스에는 이미 이게 있어서 다행이었습니다.

이건 스킨을 수정해야 하는거라서.. 모듈로 배포가 불가능하죠.

만약 스킨을 전부 수정해야 하는거라면

회원 분리하기 모듈은 도저히 배포가능한 모듈이 될 수가 없었겠죠.

각자 쓰시는 레이아웃이나 보드 스킨에 약간씩 커스터마이즈가

필요할 수도 있습니다.

스킨에 따라 member_{$member_srl} 클래스 출력을 군데군데 빼먹고

안하는 경우도 있기 때문입니다.

스킨에 따라 적당한 커스터마이즈도 필요할 수 있지만

뭐 대부분은 괜찮게 동작할겁니다.

 

  • ?
    회원차단후 차단한 회원이 탈퇴하면 리스트에서 삭제시 "회원정보가 존재하지 않습니다" 라고 나오는 현상이 있습니다
  • ?

    안녕하세요.
    라이믹스 입문해서 여러가지 자료 찾다가 해당모듈을 발견해서 잘 사용중입니다
    최근 설치해서 사용해보니
    회원 분리 후 마이페이지 - 회원분리 분리된 회원목록에 등록일시가 정확하지 않습니다

    오늘 등록했는데 2021년 등록되었다고 표시되더군요

  • ?
    안녕하세요! 좋은 모듈 고맙습니다.

    문의를 드리고 싶은데, 일단 모듈 설치하고 테스트 중인데,
    분리하기를 해도 그 회원 글과 댓글이 그대로 보입니다.
    추가로 어떤 설정이 필요한지 여쭙니다.
    고맙습니다.
  • ? ?
    본문에도 쓰여있습니다만 스킨에 따라서 안될 수가 있습니다.
    게시판 목록에서 보이는거라면 태그 문제일 가능성이 큽니다.
    게시판 목록을 표현하는데 보통 ul + li 태그 조합을 쓰거나
    또는 테이블로 만들었으면 tr 태그를 쓰고
    그게 아니라면 예외적으로 article 태그를 쓰는 경우도 있습니다.
    현재 DOM을 조작해서 이 세가지 태그를 없애버리는데
    이외의 다른 태그를 썼다면 지워지지 않을겁니다.
    이건 스킨에 맞춰서 커스터마이즈가 필요합니다.
    member_divide.js 파일안에 보시면 중간즈음에 여기를 고치라고
    주석이 달려있는데 그 부분에 내용을 추가하셔야 합니다.
    하지만 이쪽은 확률이 좀 낮고...
    더 높은 확률은 게시판 목록에서는 지워지지만
    각종 위젯들에서는 그대로 보이는 경우인데요...
    이건 본문에 설명이 자세히 되어 있습니다.
    원래 스킨에서 출력을 할때 그 글을 쓴 사람이 누군지 구분할 수 있도록
    CSS 클래스 형태로 정보를 같이 출력해놔야 합니다.
    member_{$member_srl}
    이런 형태로 출력이 되지요.
    근데 유저들이 만든 스킨에서는 이 부분을 삭제한 경우가 많습니다.
    (가끔은 위젯이 아니라 게시판 스킨에서도 임의로 이 부분을 삭제한 경우도
    없는건 아닙니다)
    XE 기본 스킨의 내용을 100% 이해 못하고 만들어서 임의로 빼버린건데요...
    이건 이쪽에선 해결 방법이 없습니다. 위젯의 스킨을 고쳐야만 합니다.
  • ? ?
    답변 고맙습니다. :)
  • profile
    잘 사용하겠습니다. 단비아빠님 좋은 자료 감사합니다.
  • profile
    감사합니다
  • profile
    헐 단비아빠님 좋은 자료 정말 감사합니다!
    아이디어가 대단하십니다!
    커뮤니티에 이런기능이 있으면 싸울일도 없겠네요 ㄷㄷ
  • profile
    헐, 이런 아이디어는 대체 어디서 나오나요 ㅎㅎㅎ 감사드려요 ^^
  • profile
    좋은 자료 감사합니다.
    항상 수고가 많으십니다.
  • profile
    안녕하세요, 혹시 SLOW스킨일경우 위젯에서도 대응이될까요?
  • profile ?
    저도 슬로우 쓰는데 사이드에 나오는 최신댓글위젯 이외엔 모두 잘 되었습니다. 최신댓글위젯에 손을 댈까 하다가 별 상관 없을거같아서 놔뒀죠..
  • ? profile
    클라이언트 단에서 동작한다는게 너무 신기하네요... *.*
    만약 글 20개가 불러와지면, 차단한 회원의 게시글은 제외하고 18개만 표시되는 방식이 맞을까요?
  • profile ?
    맞습니다
  • profile
    ver 1.0.5 설치 및 동작 잘됩니다.
    잘쓰겠습니다.
  • profile
    와.. 상세한 설명 무엇 ㅋㅋㅋ 짱
  • profile
    안녕하세요 :)
    좋은 모듈 감사합니다.
    저희 사이트에 적용할려고 하는데 아래 문구처럼 서버오류가 나타는데 어떻게 해야될지 궁금합니다.
    78번 라인을 확인해보니
    $log->debug('member_divide: checkUpdate'); 코드가 적혀있습니다.


    (문구내용)
    Error #0 "Call to a member function debug() on null" in modules/member_divide/member_divide.class.php on line 78
  • profile ?
    아악 쪽팔려라.. $log는 제가 사용하는 로그 라이브러리를 사용한 흔적입니다
    저걸 삭제하고 배포했어야 하는데... 제 사이트에서 잘돌아간다고 방심했군요.
    바로 새로 올리겠습니다.
    번거롭게 해드려 죄송합니다.
  • ? profile
    감사합니다.
    덕분에 모듈에는 들어갈수는 있지만 저희 사이트가 이상해서 그런지
    db테이블 생성 버튼을 눌러도 버튼창이 계속 뜨는거 같습니다.
    무시하고 회원 분리하기 모듈에 들어가면 스킨부분에서는 여백이 뜨는데 안뜨는게 정상인거지 알고싶습니다 :)
  • profile ?
    아 죄송합니다.. 모듈 배포 처음이라 너무 최초 설치 테스트를 안하고 올린 것 같네요
    일단 db 생성이 안된건 default 값을 나중에 수정했는데 이게 틀렸었네요
    지금 다시 1.0.2 올렸습니다.
    저는 그냥 이미 설치된 상태이고 reinstall에서도 db 테이블은 재생성 안하다보니
    지금까지 몰랐던... 아 변명 지리네요...
    그리고 스킨 부분은 잘 이해를 못하겠습니다.
    스킨 설정에서 옵션이 텅텅 빈채로 나온다는 뜻인가요? 사이트 기본 스킨이 아니라?
    일단 레이아웃은 [미사용]으로 해주셔야 합니다.
    제가 지금 재설치해보니까 별 문제는 없는 것 같은데... 조금만 더 자세한 설명 부탁드립니다.
  • ? profile
    db생성 문제는 해결이 된거같습니다.

    아까 말씀드린게 무엇이냐면 회원분리하기 모듈 설정창에 들어가시면

    기본 설정/디자인/스킨설정/모바일 스킨설정 이렇게 칸이 존재하는데요.

    원래 스킨설정/모비일 스킨설정은 클릭해서 들어가면 아무것도없는 여백인데 이게 정상인지가 확인이 필요했습니다.

    사이트 기본은 디자인칸에서 레이아웃이나 모바일 레이아웃을 미사용으로 스킨부분도 기본 스킨으로 하시라는 말씀인게 맞으신가요? 따로 설정안하고 저장만 누르면 "module_info를 얻어올 수 없습니다." 라고 안내창이 뜨는거같습니다.


    +추가로 회원 닉네임 클릭해서 분리하기 누르면
    "Template not found: ./modules/member_divide/skins//dispMember_divideList.html"
    이렇게 코드가 뜨는 페이지가 나타납니다.
  • profile ?
    음.. 지금 상황을 봐선 스킨 파일이 압축이 제대로 안풀린 것 같습니다.
    skins 폴더 안에 default 폴더가 있고 그 안에 스킨이 있어야 하는데.. 그 파일들이 없는겁니다.
    압축파일 안에는 분명히 파일들이 있으니까... 파일 압축 해제 과정이나 서버로 복사하는 과정에서 문제가 있었다고 봐야할 것 같습니다.
  • profile ?
    그게 아니면... 아까의 오류들 때문에 뭔가 설치 과정에서 제대로 꼬여서 module_info가 제대로 설정이 안된 것으로 보이는데요... 잠깐만요.. 제가 체크해서 재설치하도록 만들겠습니다.
  • profile ?
    제가 다시 올렸습니다. 아마 아까 $log 문제 때문에 에러난 것 때문에 설치가 어중간하게 된 것 같습니다. 뭔가 모듈 등록은 되었는데 $module_info 등록은 안되어 있는 어정쩡한 상태가 된 것 같네요.
    $module_info를 못가져오면 재설치 할 수 있도록 수정했습니다.
  • ? profile
    새로운 버전으로 내려받아서 업로드 했습니다.
    업데이트 하시겠습니까? 라는 버튼이 나타났는데요.
    클릭하면 맨처음에 db생성 버튼이 안사라지는것처럼 이번에는 업데이트 버튼 자체가 안먹히는거 같습니다 ㅠ_ㅠ
  • profile ?
    뭔가 제대로 꼬인 것 같은데요...
    음... 다시 한번만 테스트 부탁드립니다. v1.0.4 올리겠습니다...
  • ? profile
    업데이트 버튼도 고쳐진거 같습니다.
    추가로 스킨부분도 정상적으로 표기되는거 같습니다.
    다만 분리 기능이 안먹히는거 같습니다.
    분리를 했는데 상대방 게시글이랑 댓글이 나타나는거 같습니다,
  • ? profile
    저도 같은 증상이네요. 문제는 정리하면 총 3가지 입니다.
    1. 업데이트된 모듈의 설정을 완료해야 합니다. 라면서 설정 완료가 되지 않는 문제 (이는 큰 문제를 일으키지 않지만 숨김 처리하는 것이 좋겠죠)
    2. 스킨 불러오는 소스에 문제가 있어 위에 분 처럼 dispMember_divideList.html 파일 읽혀지지 않습니다. 이 문제는 member_divide.view.php 에서 스킨 부분 불러오는 소스를 좀 수정하셔야 할 것 같네요.
    3. 이번에도 스킨 문제인데요, 설정에서 스킨 적용이 안됩니다. "module_info를 얻어올 수 없습니다."라는 메시지가 뜨네요. 이 부분은 procMember_divideAdminDesign 쪽 부분을 손봐야하지 않나 싶네요.

    +추가
    만약 방명록 같은 열린 게시판인 경우.. 자동으로 뒤로가기 당해버려서 게시판 접근을 못하는 문제가 있네요. read부분 조회 시 뒤로가기 대신 게시글 조회 불가능하게 처리하는 방안을 생각해보셔야 할 것 같아요.
  • profile ?
    본문에도 써놨지만 이건 스킨에도 많이 의존하는 기능이라서...
    XE 기본 스킨에서 추구했던 방향대로 member_{회원srl} 클래스 출력을 충실하게 안한
    스킨인 경우 잘 안될 수 있습니다. 보드 스킨은 XE 기본 스킨을 고치는 경우가 많으니
    그래도 클래스 출력 코드 부분을 삭제하지 않고 놔뒀으면 일단 나올텐데
    위젯 스킨들의 경우 출력안하는게 정말 많을겁니다.
    그리고 그외에도 DOM 구조에 따라서 안될 수 있습니다.
    member_divide.js 파일을 이해하실 수 있으면 쉬울텐데..
    현재 기본적으로 가지는 로직은 이런겁니다.
    member_{회원srl} 클래스를 내부에 포함하고 있는 li 태그를 숨긴다
    그러나 li 태그를 안쓰고 옛날 스킨이라서 table tag를 쓴다던가 하면 못숨기겠죠...
    이건 케이스 바이 케이스라서 어떻게 해드리기 좀 어렵습니다.
    웹사이트를 알려주시면 제가 member_divide.js 를 어떻게 수정할지 알려드리죠.
  • profile ?
    지적해주신 문제점들은 v1.0.5를 설치하시면 모두 해결될겁니다...
    그리고 방명록같이 열린 게시판은 정말 생각을 못해봤네요...
    게시글 본문이 하나만 있는 케이스를 상정했는데
    방명록처럼 게시글 본문이 여러개 나열되는 경우에는
    history.back()을 하면 안되겠군요.
    이건 모듈 옵션에서 설정 가능하도록 수정해서 올리겠습니다.
  • profile ?
    음.. 운영하시는 사이트가 담다월드 아니었나요..?
    가보니까 slow 쓰시는거 같은데... 저도 slow 쓰거든요.
    slow에선 거진 다 그냥 가려질텐데 말이죠...
  • ? profile
    점점 완벽해지고 있네요 ㅎㅎ
    이제 대체로 모두 잘 작동하지만 몇 가지 부분이 있다면
    1. 방명록에서 본문이 사라지긴 했으나 순간적으로 접속할때(새로고침 등) 게시글이 보이긴 하네요.
    2. 모바일에서는 거의 완벽하게 작동하는 모습을 보이긴하나 pc에서는 닉네임만 사라지는 기기괴괴한 상황이 일어나는 것 같아요. 이건 스킨에서의 member_{member_srl} 클래스 대응이 안된거겠죠?
    3. 이건 그냥 의견인데 차단? 분리한 회원의 회원정보 직접 접근을 막거나 조회 못하게 하는건 어떨까요?
  • profile ?
    1. 원래 DOM을 이렇게 대규모로 조작하면 그게 깜빡임 형식으로 보일 수 밖에 없긴 합니다. 이걸 막는 법이 있긴 한데 그걸 이 모듈에서 제공하는건 좀 범위를 넘어서는 것 같기도 하고... 또 스킨 상황에 따라 어떤 식으로 예외가 있을지 알 수가 없기 때문이기도 하죠. 레이아웃을 직접 수정하는게 좋은데... 뭐 일단 깜빡임을 막는 코드를 넣어서 v1.0.7을 올려 드리겠습니다. 다만 on/off가 가능하도록 해서 문제 발생하면 끄고 다른 방식으로 깜빡임을 막으셔야 할겁니다.
    2. 일단 뭔가 사라지긴 한다는건 member_{$member_srl}의 클래스 출력 자체는 이뤄지고는 있다는겁니다. 현재는 member_{$member_srl}를 포함하고 있는 가장 가까운 위치의 li 태그를 숨겨버리는데 PC쪽 스킨에서는 닉네임을 li로 감싼거죠... (보통은 게시글 목록에서 한줄을 감싸는 태그를 li로 씁니다) 이 경우 해결책이 두개가 있을텐데 첫째는 스킨을 수정해서 닉네임을 감싼 li 태그를 div로 바꾸는겁니다. 아니면 member_divide.js 파일을 수정해서
    $(selector).closest('li').hide()
    이렇게 되어 있는걸 예로 들면 $(selector).closest('li').closest('li').hide()
    이렇게 해서 두번째 바깥 li를 숨기도록 확장하는 방법도 있겠지요.
    개인적으로 스킨 수정하는걸 권합니다. 자바스크립트쪽 소스를 고치면 또 다른 예외가 나올 확률이 높아서...
    3. 음.. 어차피 제대로 분리되서 안보이면 회원정보 접근도 거의 불가능해집니다.. 왜냐면 닉네임을 클릭해야 하는데 닉네임이 어디서도 안보이게 될테니까요... user_id를 정확하게 알아야 하는데 한글로 된 닉네임과 영어로 된 user_id는 별상관 없는 경우가 대다수이기 때문이죠. 뭐 가끔 닉네임을 영어로 해서 user_id하고 똑같이 하는 분도 있기는 합니다만.
  • ?
    크으~ ㅠㅜㅠ 감동...
  • profile
    외부라 아직 설치 전이지만 엄청 기대되네요.
    감사합니다
  • profile
    고민과 철학이 담긴 멋진 기능같습니다. 포인트 모아서 구매하고 싶군요. 감사합니다.