포럼

1. 이름 수정 못하게 하는 방법은 아래 링크에서 보고 따라 했습니다.

http://www.xpressengine.com/index.php?mid=tip&search_keyword=%ED%9A%8C%EC%9B%90%EC%A0%95%EB%B3%B4&search_target=title&document_srl=21427959



2. 생일도 수정 못하게 하고 싶어서 방법을 찾아 봤는데, 검색은 실패했습니다.

그래서 1. 방법을 응용하였습니다.


모듈/멤버/member.admin.view.php 파일중 

대략 465번째 줄근처에 아래 코드 비슷한게 있습니다.

else if($formInfo->name == 'birthday')
	$formTag->type = 'date';
	$inputTag = sprintf('<input type="hidden" name="birthday" id="date_birthday" value="%s" />
	<input type="text" placeholder="YYYY-MM-DD" name="birthday_ui" class="inputDate" id="birthday" value="%s" readonly="readonly" /> 
	<input type="button" value="%s" class="btn dateRemover" />',
	$memberInfo['birthday'],zdate($memberInfo['birthday'], 'Y-m-d', false),	$lang->cmd_delete);


위 코드의 위에 아래의 코드를 추가합니다. 

(위 코드의 아래에 아래의 코드를 추가하면 안됩니다.)


else if($formInfo->name == 'birthday' && Context::get('logged_info') && Context::get('logged_info')->is_admin != 'Y')
	{
		$inputTag = sprintf('<input type="text" name="%s" value="%s" readonly="readonly" />', $formInfo->name, $memberInfo['birthday']);
	}



문제점 : 생일이 YYYY-MM-DD 꼴이 아니고 그냥 쭉 연속하여 표시됨. 어찌 바꾸는지 모르겠음




3. 그 외 추가로 입력받은 폼도 수정못하게 하려면 

찾기로 //end isDefaultForm 를 찾아갑니다. (대략 520 라인?)


그 아래 이런 코드가 있는데...

$extendForm = $extend_form_list[$formInfo->member_join_form_srl];
$replace = array('column_name' => $extendForm->column_name, 'value' => $extendForm->value);
$extentionReplace = array();

$formTag->type = $extendForm->column_type;


if($extendForm->column_type == 'text')
	{					
		$template = '<input type="text" name="%column_name%" id="%column_name%" value="%value%" />';
	}

위 코드의 if 바로 위에 아래의 // // 사이 코드를 넣고 위 코드의 if를 else if 로 바꿔줍니다.


$formTag->type = $extendForm->column_type;
	// 회원정보에서 추가폼 입력 수정 못하게 ---
	if(($extendForm->column_name == ext_form1 || $extendForm->column_name == ext_form2) && Context::get('logged_info') && Context::get('logged_info')->is_admin != 'Y')
	{
		$template = '<input type="text" name="%column_name%" id="%column_name%" value="%value%" readonly="readonly" />';
	}
	// --- 추가 종료					

else if ($extendForm->column_type == 'text')

여기서는 ext_form1 과 ext_form2 라는 항목에 대해서 수정 못하도록 지정을 해 주었습니다. 

(이름column_name은 관리자 페이지 가입폼 추가할 때 설정한 입력항목ID 입니다.)

더 추가하려면 ext_form2 뒤에 || 붙이고 더 추가하시면 되겠습니다.




4. 의문점


회원정보 수정 폼에서는 readonly가 적용되어 수정이 안되기는 하는데... 

위조 페이지?를 만들어 해당 항목 값을 수정한 결과를 전송하는 등의 해킹이 가능한지는 잘 모르겠습니다.


등록 클릭했을 때 수정 못하게 한 항목값은  db에 입력하지 않거나, 

기존 db값과 다른 값이 입력되었을 경우 에러 메시지를 띄운다거나 하는 코드가 있어야 할 것 같기도 합니다.

글쓴이 제목 최종 글
XE만세 코어 업데이트 멘붕이네요... [1] 2013.07.03 by 혼ME
짤막한글 콘텐트 위젯에 나타난 몇가지 문제점 어떻게 해결해야할까요?  
pentopen 구글 analytics에 자신의 접속기록도 포함이 되는걸까요? [4] 2013.07.04 by pentopen
최윤한 서버 메모리가 계속 올라가서 사이트 접속이 안되는경우 [4] 2013.07.05 by Canto
2-COIN 회원 개인정보 수정 못하게 하기. 이름/생일/기타 추가항목 [2] 2013.07.05 by 2-COIN
최윤한 xe 안에 고스톱게임이나 테트리스 같은 게임을 넣으려면? [12] 2013.07.05 by 아기나옹이
리크스 파일 업로드 과정 자세히 아시는 분 계신가요?  
이대성680 업데이트 이후에 이런 문구가 나타납니다. [1] 2013.07.05 by S야옹이
큰성565 프로젝트 역경매모듈 [4] 2013.07.06 by XE만세
뮤르시엘라고 제 개인서버에 너무 많은 IP가 밴이 되어있어요 [1] 2013.07.06 by 코도치
짤막한글 서버에서 웹루트측 퍼미션을 다 707로 열어놔도 보안상 문제가 없나요? [6] 2013.07.06 by S야옹이
리크스 자료 찾기가 정말 어렵네요. [4] 2013.07.07 by 푸시아
XE만세 기본 act 설명이 좀 더 되어있었으면 좋겠습니다....  
kjkyu0401 레이아웃을 부트스트랩으로 만들어 보고 싶긴한대.. [3] 2013.07.07 by 윈컴이
Lansi 멤버 삭제시 포인트가 삭제가 안되네요 [3] 2013.07.07 by Lansi
봄이나라 서버 시간이 달라도 파일첨부에 영향이 있나요? [3] 2013.07.07 by 봄이나라
정도의길을걷기싫다 괜찮네요. [5] 2013.07.07 by 닭장군
데오필로 호스팅 이전후 이미지 출력문제 [12] 2013.07.09 by 휘즈
아기나옹이 한 DB에 여러 도메인을 물리면 어떤현상이 일어 나나요? [7] 2013.07.07 by 짤막한글
도라미 구글프로젝트 다운로드 메뉴 2014년 1월 15일 종료 [3] 2013.07.07 by 윈컴이