최근 XE타운에 사이트문의 게시판의 목록에 회원닉네임을 노출하지 않고 있습니다. 익명성을 어느정도 보장하려는 의도인데요.

저희도 최근 사이트문의 게시판에 비밀글의 경우 해당 닉네임과 프로필이미지등 을 가려서 안보이게 했습니다. 아직 익명을 요구하는 회원은 없지만 추후에 요구가 있을지도 몰라 준비를 하고 있었는데요..

 

여기 XE타운도 마찬가지 1가지가 남아있습니다.

 

게시판 검색에서 닉네임으로검색을 하면 비밀글이라도 해당 목록이 노출됩니다. 신고나 무엇을 문의했다는 이력은 노출된다는 것이죠. 누가 신고나 문의 했다는 것을 숨겨주려고 한 것을 예상되는 닉네임으로 조회를 해보면 어떠한 내용들을 무언가 문의 했다는 결과가 나오게 됩니다.

 

설명이 길었네요...  

 

게시판 검색에서 비밀글은 제외하고 노출되게 하려면 어디를 수정해야 할까요?

  • ?
    근본적으로 해결하려면 board 모듈하고 document 모듈 둘 다 고쳐야 할 것 같고요.

    코어 수정없이 애드온으로도 보완할 수 있긴한데, 게시판을 2번 불러오는 효과가 날 것 같네요.
  • ? profile
    그런가요.. @기진곰님 애드온에서 이부분까지 담당해주면 좋겠지만 이건 또 회원에게까지 적용되어야 하는거라 애매하네요.

    예상닉네임으로 검색이 되니 작성자 가려준 작업이 무용지물이 되어버리니 좀 허무해졌습니다.
  • profile
    @CONORY님 혹시 해결하시면 팁좀 공유해주세요~
  • profile
    댓글을 빙자(?)하여 이사람 저사람 다 호출하고 계신 @웹지기님 ㅋㅋ

    윗분 말씀처럼 애드온으로 보완하려면 지저분해지고요, 코어를 수정하거나... 아니면 스킨에서 $search_target이 있는 경우 비밀글을 아예 표시하지 않는 (글쓴이 정보뿐 아니라 <tr> 자체를 완전히 없애버리는) 방식으로 때울 수도 있겠네요. 물론 이렇게 하더라도 한 페이지에 글이 20개가 아니라 17개만 나오면 "이 기간에 비밀글을 3개 썼구나"라고 추측할 수는 있게 됩니다.
  • profile profile
    최대한 관련있는분들께 글을 알리고 싶어서요 ^^

    사실 페이지에 게시글 숫자는 중요하지 않고 내가 예상했던 사람의 닉네임으로 결과가 나오지 않는다면 이건 성공일듯해요. 스킨에서 수정하는 방법이 있다면 도전해 보고 싶습니다.
  • profile

    코어 수정은 잘 모르겠고, 저는 편하게 list.html 스킨 수정으로...

     

    <option loop="$search_option=>$key,$val" value="{$key}" selected="selected"|cond="$search_target==$key"<!--@if(!$list_config['nick_name'])--> cond="$key!='nick_name'"<!--@end-->>{$val}</option>

     

    목록 설정에 닉네임이 없으면 검색 항목에 닉네임을 노출하지 않는다 <!--@if(!$list_config['nick_name'])--> cond="$key!='nick_name'"<!--@end--> .... 이렇게 하면 될 줄 알았는데 안 되네요;;; 조건문에 조건문은 안 되나 봐요;;; cond="$key!='nick_name'"|cond="!$list_config['nick_name']"도 마찬가지구요.

    그치만 다음과 같이 해보니까 (다소 번잡스럽긴 하지만) 목록에 닉네임이 없는 경우 검색 항목에서도 제외하는 게 가능한 것 같습니다.

     

    <!--@foreach($search_option as $key => $val)-->
        <!--@if(!$list_config['nick_name'])-->
            <!--@if($key!='nick_name')-->
                <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
            <!--@endif-->
        <!--@else-->
            <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
        <!--@endif-->
    <!--@endforeach-->

     

    물론 누군가가 XE의 복잡한 구문을 꿰고 있어서 주소창에 직접 입력한다면 닉네임 검색이 불가능한 건 아니겠습니다만... (하긴 그게 스킨 수정의 한계라면 한계겠죠 ^^;) 그래도 궁여지책으로나마 이렇게 비밀글과 닉네임 대조를 막아볼 순 있을 것 같아요.

     

    아, 그러고 보니 비밀글을 검색 결과에서 노출하지 않도록 하는 게 질문의 요지였던가요. (내가 지금 뭐한 거지?) ㅠㅠ 그냥 닉네임으로 조회하는 걸 봉쇄한다는 차원으로 생각해보면 좋지 않을까 라는 생각은 드네요.

     

    지워버릴까 하다가 써놓은 게 아까워서 그냥 남겨놓습니다. 죄송해요... 크흑;;;;

  • profile profile
    닉네임으로 검색을 봉쇄하면 많은 불편이 따르기 때문에 그걸 막기는 곤란해서 비밀글을 빼버리려는 것에 도달한거죠..

    여기 XE타운 익명성이 사실 의미가 없어졌는데 그렇다고 닉네임을 막아버린다면 좀 문제가 생길 듯 해서요.



    <!--@foreach($search_option as $key => $val)-->
    <!--@if(!$list_config['nick_name'])-->
    <!--@if($key!='nick_name')-->
    <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
    <!--@endif-->
    <!--@else-->
    <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
    <!--@endif-->
    <!--@endforeach-->


    위 코드가 목록에 닉네임이 표시되고 있지 않다면 검색결과에서 빼주는 코드인가요? list.html 파일인가요?
  • profile profile
    어떻게 수정해야하는지 설명을 좀 부탁드려도 될까요? list.html 파일에 어떤 부분을 수정해야 하는지 제가 감이 잘 안와서요.
  • profile profile
    <option loop="$search_option=>$key,$val" value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>

    이걸 제거하고

    <!--@foreach($search_option as $key => $val)-->
    <!--@if(!$list_config['nick_name'])-->
    <!--@if($key!='nick_name')-->
    <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
    <!--@endif-->
    <!--@else-->
    <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
    <!--@endif-->
    <!--@endforeach-->

    이걸 넣어 보았습니다.

    그런데 해당 닉네임의 게시글이 출력이 되네요.
    저희는 비밀글일 경우 닉네임 출력대신 해당위치에 secret 이라는 문자열을 출력하고 있습니다.
  • profile profile
    네, 해당 코드 맞습니다. list,html이구요.
    게시판 설정 > 고급 > 목록 설정에서 '닉네임'이 제거되어 있으면(!$list_config['nick_name']), 검색 옵션에서도 닉네임을 제거($key!='nick_name')해주는 코드예요.

    어차피 게시판별로 설정이 다 다를 테니까 list.html을 이렇게 수정해줘도, 다른 일반 게시판에는 영향을 끼치지 않게 되죠.
    혹시 사이트 문의 게시판에만 특정해서 활용하고자 한다면 <!--@if(!$list_config['nick_name'])--> 대신에 <!--@if($mid=='contact' && !$list_config['nick_name'])--> 등으로 바꿔줘도 되겠네요.

    수정은 검색창의 select 태그의 자식 요소로 있는 'option" 태그를 찾아서 바꾸시면 됩니다.
    스케치북 게시판 스킨 1.7.2 순정 파일을 기준으로 보면, 205번째 줄의 <option loop="$search_option=>$key,$val" value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option> 을 삭제하고 그 자리에 위의 코드를 삽입하면 되겠구요.
    이렇게 하면 게시판 목록 하단의 검색창에서 닉네임 옵션을 제어하는 게 가능해집니다.

    참고로, 상단 검색창은 안 써봐서 모르겠는데, 아마도 _search.html에 있는 option 태그를 찾아서 마찬가지로 수정해주면 될 듯하구요.
  • profile profile
    저희는 닉네임은 출력하고 있어요. 비밀글만 그 자리에 secret으로만 출력 할 뿐이라서요.
    저희가 이걸 적용하려면 아마도..
    문의게시판과 통합게시판에 닉네임 출력 자체를 설정에서 없애야 한다는건데요. 이건 검토가 좀 필요해 보여서요. 결국 해법이 나오지 않으면 이렇게 해서라도 처리를 해보도록 하겠습니다. 감사합니다.


    <td class="author" cond="$val->type=='nick_name' && $val->idx==-1 && !$document->isSecret()"><span><a href="#popup_menu_area" class="member_{$document->get('member_srl')}" onclick="return false">{$document->getNickName()}</a></span></td>
    <td class="author" cond="$val->type=='nick_name' && $val->idx==-1 && $document->isSecret()"><span class="ico_secret">SECRET</span></td>
  • profile profile
    정말 감사합니다.

    <!--@foreach($search_option as $key => $val)-->
    <!--@if($mid=='request')-->
    <!--@if($key!='nick_name')-->
    <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
    <!--@endif-->
    <!--@else-->
    <option value="{$key}" selected="selected"|cond="$search_target==$key">{$val}</option>
    <!--@endif-->
    <!--@endforeach-->

    이렇게 해결을 보았습니다!!!

    통합게시판에 문의게시판을 빼버리면 모든 해결이 될 듯 합니다. 감사합니다.
  • profile
    저희가 비밀글만 닉네임을 가려주는 건

    <td class="author" cond="$val->type=='nick_name' && $val->idx==-1 && !$document->isSecret()"><span><a href="#popup_menu_area" class="member_{$document->get('member_srl')}" onclick="return false">{$document->getNickName()}</a></span></td>
    <td class="author" cond="$val->type=='nick_name' && $val->idx==-1 && $document->isSecret()"><span class="ico_secret">SECRET</span></td>

    이렇게 처리햇습니다.
  • profile profile
    아, 웹지기님 사이트에선 XE타운과 다르게 게시판 목록에 닉네임이 있는가 보군요.
    목록에 닉네임을 노출하는 게시판이라면 SECRET 으로 처리를 해도 좋겠네요.

    XE 타운의 사이트문의 게시판에선 목록에 닉네임이 없더라도 닉네임으로 검색을 해보면 글들이 나오더라구요.
    (가령 닉네임으로 윤삼을 검색해보면 목록에 제 이름은 없지만 사실상 제가 썼던 비밀글들의 제목은 볼 수가 있는 거죠)
    아무튼 제가 XE 타운만 보고 팁을 생각하다보니, 미스커뮤니케이션이 생겼나봐요;;
  • profile profile
    윗 댓글에 해결한거 적어 놓았어요. 팁 정말 감사합니다.

    통합게시판에서 문의게시판 게시글이 사라져야 한다는 점이 다소 아쉽지만 그래도 해결은 되었네요!!!
  • profile profile
    네. 그게 익명성확보를 위한 노력이 물거품이 된다는 게 이 글의 핵심입니다. @CONORY님 참고해주세요.