포럼

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값과 다른 값이 입력되었을 경우 에러 메시지를 띄운다거나 하는 코드가 있어야 할 것 같기도 합니다.

글쓴이 제목 최종 글
2-COIN 회원 개인정보 수정 못하게 하기. 이름/생일/기타 추가항목 [2] 2013.07.05 by 2-COIN
최윤한 서버 메모리가 계속 올라가서 사이트 접속이 안되는경우 [4] 2013.07.05 by Canto
pentopen 구글 analytics에 자신의 접속기록도 포함이 되는걸까요? [4] 2013.07.04 by pentopen
짤막한글 콘텐트 위젯에 나타난 몇가지 문제점 어떻게 해결해야할까요?  
XE만세 코어 업데이트 멘붕이네요... [1] 2013.07.03 by 혼ME
말똥이 홍보용 배너 모듈? [2] 2013.07.03 by 말똥이
큰성565 혹시 생성된 게시판을 통채로 삭제해도 괜찮은가요..? [2] 2013.07.03 by 큰성565
CKEQ 1.7.3.4 버전에서 위젯 쪽 확장변수 적용이 잘 되는지 궁금합니다.  
코도치 비밀정보관련 [2] file 2013.07.02 by 코도치
sipjaga99 sub 페이지 to 도메인 연결...  
초보개발자 DB Error가 나면서 서버가 2시간마다 한번씩 다운이 됩니다. [4] 2013.07.02 by 초보개발자
달빛영혼 데이터 백업 문제입니다. ㅇ,.ㅇ 첨부파일등등 [3] 2013.07.01 by 달빛영혼
YJSoft 공사중 애드온... [12] file 2013.07.01 by 아루히
로스트(ROST) 갑자기 관리자페이지 편집.제작툴이 이상함 [2] 2013.06.30 by 로스트(ROST)
CMD Xzet 1.4.5.20 (XE 1.4.x 보안 패치) - 2013/03/10 [19] 2013.06.30 by xe매니아
짤막한글 해외 캐시 서버 구축...  
우진홈 IPGUARD 모듈 베타 - 도움이 필요합니다...^^ [9] file 2013.06.29 by 우진홈
skullacy 음... 이상하네요.. 익스에서 가상도메인이 안돼..  
Lansi XE는 돌릴만한 서버 사양이 어느 정도인가요 [5] 2013.06.28 by Lansi
쿡래빗 배너 슬라이드 직접 개발하나요? [2] 2013.06.28 by 쿡래빗