웹마스터 팁

일반 사용자에게는 쓰기 폼만 보여주고 목록은 관리자만 보게 한다면
무언가를 센청 혹은 제출하는 메뉴를 매우 쉽게 만들 수 있습니다.

게시판 입장에서 보자면
일반 회원 - 쓰기만
관리자 - 모든 기능

이렇게 정리가 되는 것이죠.
제로보드 기본 스킨을 가지고 구현해 보겠습니다.

1. 쓰기 페이지의 주소
신청 게시판의 mid가 qna라면, 신청 메뉴에
/zbxe/?mid=qna&act=dispBoardWrite
이렇게 링크를 걸면 됩니다.

2. 권한 설정
게시판 권한 설정에서 쓰기를 제외한 모든 권한을 관리자에게만 줍니다.
이렇게 하지 않으면 위의 게시판의 경우 일반 사용자가
/zbxe/qna 이렇게 접속해서 다 볼 수도 있겠죠.

3. 스킨 수정 1 - 글 작성 후 안내 메시지
이제 일반 사용자가 글을 작성하면
쓰기 버튼을 누른 직후 어떠한 메시지도 없이
'권한이 없습니다'라는 메시지를 접하게 될 것입니다.
오류가 있거나 매우 불친절한 홈페이지라고 생각하게 되겠죠.
수정해봅시다.

기본 스킨의 board.js 파일을 열면 맨 먼저 나오는 함수가 completeDocumentInserted()입니다.
이 함수 마지막 줄에 location.href = url; 이라고 나오는 부분을 주석 처리합니다.
그리고 이렇게 써넣습니다.

//location.href = url;

alert('신청이 완료되었습니다.');
completeReload(ret_obj);

이제 사용자가 쓰기 버튼을 누르면 위에 적은 안내 문구가 뜬 후 다시 쓰기 페이지로 돌아오게 될 것입니다.


4. 스킨 수정 2 - 비밀번호 제거
이런 일회성 폼에는 비밀번호가 필요 없습니다.
제거하는 방법은 두가지가 있는데,
하나는 그냥 write_form.html에서 비밀번호 필드를 삭제하고
filter/insert.xml에서 패스워드 항목을 찾아 required="true"라는 부분을 제거하는 것입니다.
하지만 이렇게 해서 비밀번호 없는 게시물을 만든다는 게 별로 좋은 발상이 아닌 것 같습니다.
만에 하나 실수로 스킨을 변경한다거나 할 경우 무슨 일이 일어날지 모르기 때문입니다.
그래서 여기서는 다른 방법을 쓰겠습니다.
write_form.html을 열고

<input type="password" name="password" value="" id="userPw" class="userPw inputTypeText" />

이것을

<input type="hidden" name="password" value="{@$time = time()}{$time}" />

이렇게 바꿉니다.
또 is_secret 옵션을 입력받는 부분을 찾아

<input type="hidden" name="is_secret" value="Y" />
이렇게 바꿉니다.

이렇게 해 두면 올라오는 모든 게시물이 비밀글 & 다른 비밀번호를 가지게 되어
혹시라도 있을지 지 모르는 상황에서도 어느정도 게시물 내용을 보호할 수 있게 됩니다.
제목 글쓴이 날짜
알림LITE의 모바일쪽지 확인시 "잘못된 요청" 처리법 [1] Hello_XE 2014.10.28
IIS에서의 URL 재작성 사용하기 [5] file ehii 2014.10.30
관리자 회원목록의 회원검색에 생일 항목 추가하는 방법 sejin7940 2014.11.03
ie11에서 한글파일이름 다운로드시 깨짐 방지 방법 맥가이버878 2014.11.04
지도 링크 주소 형식 ms.kim 2014.11.05
회원가입 인증메일 Gmail 설정해도 메일 안 올 때 저는 이렇게 했습니다. [12] file 마키치노 2014.11.06
ipTIME NAS 에 설치한 XE, 다올CMS 첨부파일 버튼 무반응 해결 [1] 사이버짱 2014.11.07
댓글 작성시 '서버에 요청 중입니다.' 메세지만 뜨고 무반응 일 경우 (모두는 아님) file 마키치노 2014.11.11
phpmyadmin 설치뒤 setup 스크립트는 삭제해야 [1] YJSoft 2014.11.12
전화번호 입력시 자동 focus Lansi 2014.11.13
cloudflare에서 nginx 아이피 제대로 표시하기 [3] natura 2014.11.13
위젯수정시 _getContent method is not exists 에러 뜨는 문제 [2] 황비 2014.11.14
SEO 모듈 수정을 통한 Google analytics User ID 추적코드 삽입 하얀마법 2014.11.14
본문에서 작성자 글 모아서 보여주기 [15] 하얀마법 2014.11.15
본문에서 작성자 글 모아서 보여주기 - 응용버전 [4] 하얀마법 2014.11.15
본문을 애드센스 주변에 배치하기 [1] file 하얀마법 2014.11.15
포트포워딩없이 외부접속 허용하기(윈도우 서버) [1] file 임채원임 2014.11.17
html 붙여넣기 가능한 무료 익명 채팅 프로그램(초간단) [1] file 임채원임 2014.11.17
부트스트랩 툴팁 , 팝오버 TIP file 돼지코구뇽 2014.11.17
회원포인트 목록에서 검색 후 포인트 업데이트시 검색 상황이 그대로 유지되도록 sejin7940 2014.11.20