Q&A

xe 1.8.15 를 쓰고 있습니다.


제가 운영하는 사이트는 비회원/회원/운영자 모두 아이피가 보이도록 설정해놨습니다.


그런데 비회원/회원만 아이피가 보이게 하고

운영자 아이피는 안보이도록 하고 싶은데


아무리 팁을 검색해봐도 안 나와 있네요..

운영자 아이피만 안보이게 하는 방법이 있을까요..?

댓글 12

  • _read.html (관리자 IP가 안나오게 라고 하셨으니 게시판 모듈 말씀하시는거겠지요?) 에서

    아이피 출력부 찾으신뒤에

     

    <!--@if(in_array($oDocument->getNickName(), array('관리자1 닉네임','관리자2 닉네임')))-->
    ***.***.***.***
    <!--@else-->
    원래 아이피 출력부
    <!--@end-->

     

    위와 같은 형식으로 작성하면 게시글 쓴 닉네임과 대조하여 위의 IF문 배열에 해당되는 닉네임이면

    아이피를 ***.***.***.*** 형식으로 출력하게 합니다.

     

    저 부분은 맘에 드시는대루 바꾸시구요..

  • @프렌다
    닉네임으로 말고 아이디로 설정 가능한가요? ㅠㅠ
  • @키엘
    위 소스에서 getNickName() 부분을 getUserId() 로 바꿔보세요!
  • @프렌다
    감사합니다! 적용해볼게요~
  • @프렌다
    이렇게 적용하니까
    제가 쓴 글에선 안보이는데 다른 사람이 쓴 글에 댓글을 쓰면 아이피가 보이네요;;ㅠ
  • @키엘
    "본문" 과 "댓글" 은 다른 부분 입니다.

    댓글의 경우 _comment.html 을 댓글 참조해서 수정해주세요.
  • @프렌다
    본문과 댓글페이지 모두 적용했는데 저런 현상이 나타납니다.

    제가 직접 작성한 글에는 정상적으로 아이피가 안 보입니다.
    하지만 다른 회원이 작성한 글에 제가 직접 댓글을 달면 제 아이피가 나타납니다.

    제 자신이 쓴 글 또는 그 글에 댓글을 달면 아이피가 안보이는데
    다른사람이 쓴 글에 댓글을 달아버리면 아이피가 나타납니다..;;
  • @키엘

    아.. 무슨 말씀인지 이해했습니다.

     

    <!--@if(in_array($oDocument->getNickName(), array('관리자1 닉네임','관리자2 닉네임')))-->
    ***.***.***.***
    <!--@else-->
    원래 아이피 출력부
    <!--@end-->

     

    이 부분이 위에 $oDocument->getNickName 되어 있습니다.
    이것은 "해당 게시글의 작성자 닉네임" 을 기준으로 합니다.

    게시글을 기준으로 잡아서 댓글에서 경우를 따지기 때문에 댓글의 경우 관리자가 쓰던 일반회원이 쓰던
    게시글 작성자의 권한을 따라가게 됩니다.

    댓글의 경우 아래와 같이 수정하세요


    <!--@if(in_array($comment->getNickName(), array('관리자1 닉네임','관리자2 닉네임')))-->
    ***.***.***.***
    <!--@else-->
    원래 아이피 출력부
    <!--@end-->

     

     

     

    댓글의 경우 댓글 작성자의 닉네임 혹은 아이디를 기준으로 아이피 노출/비노출을 설정해야 됩니다.

     

  • 이렇게 도움 주시는 분들 덕에 저 같은 초보는 늘 힘을 얻네요. ^^;;
    저도 필요했는데...
  • {@
       $oMemberModel = getModel('member');
       $member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
    }
    
    <!--@if($member_info->is_admin == 'Y')-->
       관리자아이피는 숨깁니다
    <!--@end-->

     

    이런형태로 구현하는게 제일 깔끔할것 같네요 :)  (관리자 페이지에서 최고관리자 권한을 가진 사람은 아이피 숨기는 방법입니다.

  • @람보
    이건 어느 파일 어느 부분에 적용해야 하나요?
  • @키엘

    마찬가지로 스킨단에서 처리하시면 됩니다. 본문의 경우 _read.html 파일이 되겠네요 (구 버전은 view_document 였던가요..?)

    위에 제가 작성한 댓글과 람보님께서 답변해주신 댓글 둘중 하나 편한거로 사용하시면 됩니다.

    제가 작성해 드린 댓글의 경우 특정회원을 지목하여 아이피를 안나오게 처리하는 부분이고
    람보님께서 댓글주신 경우 최고관리자인 경우 아이피가 안나오게 처리해주는 부분입니다.

    (관리자가 1인이라면, 그리고 관리자의 아이디나 닉네임이 자주 바뀌는 편이라면 람보님의 댓글을 따라하는것이

    추후 경우를 보면 좋아보입니다.)

     

    람보님의 댓글에 추가내용 작성합니다.

     

    <!--@if($member_info->is_admin == 'Y')-->
       관리자아이피는 숨깁니다
    <!--@end-->

     

    식으로 작성할경우 관리자의 경우는 존재하지만 그 외의 경우(일반사용자)가 없습니다.

    기존 아이피 출력부 위에 해당 소스를 넣는다면 원래 아이피 출력부분은 살아있으니 적용할 필요가 없어지게 되지요

     

    if와 end사이에 else 구문을 하나 더 만들고 그 사이에 원래 아이피 출력경로가 나오도록 수정해주어야 합니다.

     

    혹은 아이피 출력부에 cond 옵션을 주어서 admin==y 가 아닌, 부정문 ! 를 넣어서

    글작성자가 관리자가 아닐경우에만 아이피가 출력되고, 관리자인 경우에는 아이피출력부 자체를 안나오게 하는 방법도

    있습니다.