차단 기능 채택완료

회원간 글 차단 차단기능을 만들어 볼까하는데 그누보드 코어 수정없이는 방법이 없을까요?

글만 안보이게 블럭 하는건 어렵지 않은데 완전히 안보이게 하려니 코어를 안건들고는 방법이 안떠오르네요.

bbs/list.php

bbs/view.php

bbs/new.php

bbs/search.php

bbs/view_comment.php

당장 생각 나는거만 수정해도 위 파일들을 다 만져야 하네요 ㅠㅠ

물론 스킨단에서 각 파일 무시하고 쿼리로 출력하는 방법도 있긴 하지만 넘 무식한 방법이고...

뭐 좋은 방법 없을까요?

답변 5개

채택된 답변
+20 포인트
빌더 같은 것들은 보면 코어에 있는 파일을 다른 경로에 있는 파일로 포워딩해버리는 방식으로 처리하더군요.
제가 봤던건 이윰빌더와 신나리야 빌더 https://amina.co.kr/nariya/notice/필수-신-나리야-04-베타/ 였습니다.
다른 빌더에도 뭐 비슷할 수 있을 것 같습니다.

하지만 이것도 무식한 방법은 맞습니다. 코어 패치를 따라가야하기 때문에 당장, 또는 당분간은 괜찮더라도 시간이 지나면 특정 기능이 달라지거나 보안취약점이 코어에서 고쳐져봤자 빌더/플러그인에서 계속 남게되는 문제도 있고요.

그누보드는 코어를 수정하지 않고서는 확장성이 부족하지만 거의 모든 것을 전역변수에 쌓아두기 때문에 글 목록을 담은 배열에서 제목과 내용을 날려버리는 정도가 위험성을 최소화한 방법인 것 같습니다.

https://github.com/gnuboard/gnuboard5/issues/217 이런 기능 요청도 있습니다만, 그누보드 개발진 측에서는 아무 의견도 없었고 아무래도 SQL Injection 위험이 더해질 수 있어서 그누보드 코어제 제공하는 방법으로는 좋은 것은 아니긴 합니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

코어 안만지고 확장이 쉽지가 않군요...
좋은 의견 정보 감사합니다.^^

댓글을 작성하려면 로그인이 필요합니다.

extend 에서 차단할 회원의 아이디를 배열로 저장해 놓은 후 스킨 파일에서 처리하면 되지 않을까 싶습니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

리스트 같은 경우 그렇게하면 갯수가 문제 됩니다.^^

댓글을 작성하려면 로그인이 필요합니다.

예전 그누시스템에서 크롬 확장프로그램 이용해 안 보이게 하는 거 구현한 적 있는데 참고해 보세요.
https://homzzang.com/b/free-7240

만들어두고 이용하진 않았네요. 오히려 망각를 늦추는 행위라....
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

사이트내에서 회원간 차단과는 다르네요...
좋은정보 감사합니다^^

댓글을 작성하려면 로그인이 필요합니다.

해외에서 많이 들어와서 

한국 미국 외에는 모두 차단 하는것을 

 

bbs/write.update.php

bbs/write.comment.update.php 첫줄에 구현하니까 안들어 오는것 같습니다.

 

전체 사이트는 head.php 파일에서 해도 될 것 같습니다.

 

만약 해외에서 유저의 접속이 필요하다면 로그인 한 회원만 글쓰기나 접근이 가능하도록 하면 될 것 같습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

아~ 제가 질문을 이상하게 했나 보네요 ㅜㅜ
회원간 차단시 글 안보이게 입니다^^;
네 그러시군요 ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

중요한건 모든스킨대상이냐 아니면 특정스킨이냐 는것입니다.
모든스킨대상이라면 코어에서 커스텀 
특정스킨이라면 해당부분에서만 되어야하니 공용처리하면안된다라는점이지요
그렇면 해당스킨 일관성이 잇게 list ,view 에서 먼저 그리고 latest최신글

관리자 프론트에서 관리 할수있도록 효율성으로 처리해야하는 부분도 생각을 하셔야 할것입니다.

만약 이를다르게 처리할수도있습니다.
공용함수로인해서 처리또한 가능하다라는뜻입니다.
예를들어서 차단 벡엔드테이블 하나만들어주고 공용함수를 해당스킨에서호출을해주게 하면됩니다. 선생님
그리고 관리자프론트에서 이를 효율성있게 관리 처리 해주시면 됩니다. 

참조하시고 응원드립니다. 화이팅~~^
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

일단 위에 언급파일들 보면 당연 사이트 전체죠 ㅠㅠ
그리고 위에 언급했듯이 스킨에서는 가능은합니다.
그러면 모든 스킨을 다 해야겠죠
그 방법이 별로라서 extend, plugin 활용한 제가 생각못한 방법이 있는지 궁금했던겁니다.
여튼 응원 감사합니다^^;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고