웹마스터 팁

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

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

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

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" />
이렇게 바꿉니다.

이렇게 해 두면 올라오는 모든 게시물이 비밀글 & 다른 비밀번호를 가지게 되어
혹시라도 있을지 지 모르는 상황에서도 어느정도 게시물 내용을 보호할 수 있게 됩니다.
제목 글쓴이 날짜
이미지 삽입후 이미지 위에 노란색 박스 사라지게하는 법 [5] dhseo 2008.05.28
웹페이지에 마우스 따라다니는 예쁜 시계를 넣자 [5] gosoo99 2008.04.08
메뉴에서 채팅방 띄우기 용도로 쓰는 스크립트 코아 코스튬 2011.01.30
XE 검색 속도 향상 팁(확장 변수 검색시) [5] 명드래곤 2011.02.26
[권한이 없습니다] 권한에 따른 다른 메시지 출력하기 [10] [1] 반도체맨 2008.10.03
상담/신청 (쓰기만 가능한 게시판) 만들기 [10] mmx900 2008.03.20
디자인 하시는 분에게 ~ 신기한 팁 (from IE) [2] 999 2011.02.23
관리자 아이디로 작성한 비밀글을 특정인이 볼수있도록 해주는 팁 [13] file Dreami 2009.04.03
[중복일수도...] Srl 생성의 비밀???;;? [1] RainDrop+ 2011.02.22
관리권한 가져도 댓글이 수정/삭제 안 되는 경우.. [4] sejin7940 2011.02.14
게시판모듈 글목록에서 분류명(카테고리)를 이미지로 표현하기 [4] nalireco 2011.01.06
해시로부터 주민등록번호 복호화 [2] fallstoofast 2008.03.12
IIS 7용 Rewrite fsfsdas 2011.02.20
nginx에서 대역폭 제한하기 fsfsdas 2011.02.20
MySQL db를 InnoDB로 바꾸기 (MyISAM to InnoDB) fsfsdas 2011.02.20
리눅스에서 디렉토리, 파일 용량 확인하기 fsfsdas 2011.02.20
우분투 charset을 euc-kr로 변경하기 fsfsdas 2011.02.20
우분투 10.04 LTS, 시스템 정보 보기 fsfsdas 2011.02.20
우분투 10.04 LTS, sendmail 설치 및 설정 fsfsdas 2011.02.20
우분투 10.04 LTS, SSH 사용자 접속 제한 fsfsdas 2011.02.20