웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
테스트용 아이디 탈퇴 막기
2009.02.26 21:45
faceOff를 기준으로 작성됨
/modules/member/skins/스킨이름/member_info.html
회원 정보 페이지에서 탈퇴 버튼 없애기
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
소스를 찾아서 아래처럼 IF문으로 묶어주세요.
<!--@if($member_info->user_id != "테스트용아이디")-->
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
<!--@end-->
-----------------------------------------------------------------------------------------------------
/modules/member/skins/스킨이름/member_info.html
편법 써서 탈퇴 페이지 접근하는 것 막기
<tr>
<th class="button" colspan="2">
<span class="button black strong"><input type="submit" value="{$lang->cmd_leave}" accesskey="s" /></span>
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</th>
</tr>
위 소스를 아래처럼 IF문으로 묶어주세요.
<!--@if($member_info->user_id != "테스트용아이디")-->
<tr>
<th class="button" colspan="2">
<span class="button black strong"><input type="submit" value="{$lang->cmd_leave}" accesskey="s" /></span>
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</th>
</tr>
<!--@end-->
-----------------------------------------------------------------------------------------------------
위 부분까지만 하셔도 상관없습니다.
혹시나 XE를 좀 하시는 분이 탈퇴 시키는 것을 막기 위해서 아래 방법을 따라해주시는 것도 좋은 방법입니다.
이 방법을 따라하다가 수정이 잘못되면 사이트 전체 접속이 안될 수 있으니 조심하세요.
초보자의 경우 차근차근 따라하세요.
/modules/member/member.controller.php
탈퇴 근본적으로 막기
function procMemberLeave() {
if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
// 필수 정보들을 미리 추출
$password = trim(Context::get('password'));
// 로그인한 유저의 정보를 가져옴
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
// member model 객체 생성
$oMemberModel = &getModel('member');
// member_srl 에 따른 정보 가져옴
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
// 현재 비밀번호가 맞는지 확인
if(!$oMemberModel->isValidPassword($member_info->password, $password)) return new Object(-1, 'invalid_password');
$output = $this->deleteMember($member_srl);
if(!$output->toBool()) return $output;
// 모든 세션 정보 파기
$this->destroySessionInfo();
// 성공 메세지 리턴
$this->setMessage('success_leaved');
}
위 소스를 찾아서 아래 소스로 바꿔줍니다.
function procMemberLeave() {
if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
// 필수 정보들을 미리 추출
$password = trim(Context::get('password'));
// 로그인한 유저의 정보를 가져옴
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
// 테스트용 아이디라면 탈퇴 막기
if($logged_info->user_id == "테스트용아이디") return new Object(-1, 'invalid_request');
// member model 객체 생성
$oMemberModel = &getModel('member');
// member_srl 에 따른 정보 가져옴
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
// 현재 비밀번호가 맞는지 확인
if(!$oMemberModel->isValidPassword($member_info->password, $password)) return new Object(-1, 'invalid_password');
$output = $this->deleteMember($member_srl);
if(!$output->toBool()) return $output;
// 모든 세션 정보 파기
$this->destroySessionInfo();
// 성공 메세지 리턴
$this->setMessage('success_leaved');
}
/modules/member/skins/스킨이름/member_info.html
회원 정보 페이지에서 탈퇴 버튼 없애기
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
소스를 찾아서 아래처럼 IF문으로 묶어주세요.
<!--@if($member_info->user_id != "테스트용아이디")-->
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
<!--@end-->
-----------------------------------------------------------------------------------------------------
/modules/member/skins/스킨이름/member_info.html
편법 써서 탈퇴 페이지 접근하는 것 막기
<tr>
<th class="button" colspan="2">
<span class="button black strong"><input type="submit" value="{$lang->cmd_leave}" accesskey="s" /></span>
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</th>
</tr>
위 소스를 아래처럼 IF문으로 묶어주세요.
<!--@if($member_info->user_id != "테스트용아이디")-->
<tr>
<th class="button" colspan="2">
<span class="button black strong"><input type="submit" value="{$lang->cmd_leave}" accesskey="s" /></span>
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</th>
</tr>
<!--@end-->
-----------------------------------------------------------------------------------------------------
위 부분까지만 하셔도 상관없습니다.
혹시나 XE를 좀 하시는 분이 탈퇴 시키는 것을 막기 위해서 아래 방법을 따라해주시는 것도 좋은 방법입니다.
이 방법을 따라하다가 수정이 잘못되면 사이트 전체 접속이 안될 수 있으니 조심하세요.
초보자의 경우 차근차근 따라하세요.
/modules/member/member.controller.php
탈퇴 근본적으로 막기
function procMemberLeave() {
if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
// 필수 정보들을 미리 추출
$password = trim(Context::get('password'));
// 로그인한 유저의 정보를 가져옴
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
// member model 객체 생성
$oMemberModel = &getModel('member');
// member_srl 에 따른 정보 가져옴
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
// 현재 비밀번호가 맞는지 확인
if(!$oMemberModel->isValidPassword($member_info->password, $password)) return new Object(-1, 'invalid_password');
$output = $this->deleteMember($member_srl);
if(!$output->toBool()) return $output;
// 모든 세션 정보 파기
$this->destroySessionInfo();
// 성공 메세지 리턴
$this->setMessage('success_leaved');
}
위 소스를 찾아서 아래 소스로 바꿔줍니다.
function procMemberLeave() {
if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
// 필수 정보들을 미리 추출
$password = trim(Context::get('password'));
// 로그인한 유저의 정보를 가져옴
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
// 테스트용 아이디라면 탈퇴 막기
if($logged_info->user_id == "테스트용아이디") return new Object(-1, 'invalid_request');
// member model 객체 생성
$oMemberModel = &getModel('member');
// member_srl 에 따른 정보 가져옴
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
// 현재 비밀번호가 맞는지 확인
if(!$oMemberModel->isValidPassword($member_info->password, $password)) return new Object(-1, 'invalid_password');
$output = $this->deleteMember($member_srl);
if(!$output->toBool()) return $output;
// 모든 세션 정보 파기
$this->destroySessionInfo();
// 성공 메세지 리턴
$this->setMessage('success_leaved');
}
제목 | 글쓴이 | 날짜 |
---|---|---|
관리자 여러명 만들기 팁 [1] | 만쓰별(정만) | 2009.02.03 |
png파일 제어 ie6투명버그 해결책이 될듯도 한데염 [7] | 만쓰별(정만) | 2009.02.05 |
1.1.5 버전에서 로고가 나타나지 않는 문제 | gotomoon | 2009.02.06 |
윈도우 서버에서 XE 업데이트 어려움... [2] | 윤임수 | 2009.02.06 |
나만의 카운터를 만들어보자! [3] | 데미안k | 2009.02.08 |
D-DAY 플래시 | 세츠카 | 2009.02.09 |
완벽하게 XE폴더를 url에서 접속하기 [2] | 팬텀MW | 2009.02.10 |
게시판에서 사이트 관리자만 볼수있는 항목 만들기 [1] | ☜ TeRy ☞ | 2009.02.13 |
회원 순위 공동순위 표시해서 뽑기(원리만 소개) | 라르게덴 | 2009.02.13 |
TortoiseSVN에서 특정 리비전 영역만 추출하기 [1] | ◀CGlink▶ | 2009.02.19 |
플래너 최근문서(위젯)에 카테고리색 적용, Dday 적용, 지난 일정 출력 여부 조절 [7] | 주상태 | 2009.02.21 |
확장변수전용 권한설정 게시판스킨 미권한자에게 출력 (''깜박''오류?) 보고 | 0su | 2009.02.25 |
테스트용 아이디 탈퇴 막기 [1] | SMaker | 2009.02.26 |
윈도우, 리눅스, 맥서버에서 이슈트래커 동작가능하게 하기 [1] | 뽀여니 | 2009.03.02 |
2003 + RWAPM + faceOff + IE7 = rewrite mod 에러 | neotec | 2009.03.03 |
이슈 트래커 소유자 변경 시 그룹별 선택 기능 | 개돌 | 2009.03.05 |
사진이 떳다 사라지는 문제 해결법 [2] | 현진 | 2009.03.07 |
svn 업으로 xe 최신본 유지하기 [2] | e~세상쉼터 | 2009.03.08 |
Faceoff 버젼에서 확장변수 마음대로 배치하기 ^^ | 파파민 | 2009.03.13 |
게시물 가운데 정렬 문제 임시해결법 | 한신일 | 2009.03.15 |
테스트용 아이디뿐만 아니라 외뢰받아서 XE로 만들어준 사이트의 관리자 아이디도 탈퇴시키지 못하게 할 수 있겠네요...
비밀번호를 바꾸지 못하게 할 수도 있겠고요...
그밖에 여러가지로 응용이 가능하겠군요~^^