티스토리 뷰
반응형
그누보드에서 회원가입할때 개인정보를 사용하지 않고 가입하는 방법. 이메일, 이름 사용안함
여기에서 등장하는 파일들은 미리복사해서 보관해둔다 해당폴더에서 ctrl+c 로 ctrl+v로 복사본 파일 생성
theme/테마/skin/member/register.skin.php
개인정보의 이름 이메일 부분을 지워준다.
theme/테마/skin/member/register_form.skin.php
여기서는 기존의 이름, 이메일 입력부분을 지워주고 새로운 아이디를 만들어주는 코드를 추가해준다.
아이디가 있으면 적어주고 없다면 새로운 랜덤한 아이디를 만들어준다.
<input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" placeholder="아이디">
위의 내용을 아래처럼 바꿔준다
<?php if (isset($member['mb_id']) && $member['mb_id']){?>
<input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" placeholder="아이디">
<?php } else {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomId = '';
// 문자열 길이만큼 랜덤한 문자 선택하여 아이디 생성
for ($i = 0; $i < 5; $i++) {
$randomId_A .= $characters[rand(0, strlen($characters) - 1)];
}
for ($i = 0; $i < 5; $i++) {
$randomId_B .= $characters[rand(0, strlen($characters) - 1)];
}
$randomId = $randomId_A."_".$randomId_B;?>
<input type="text" name="mb_id" value="<?php echo $randomId ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" placeholder="아이디">
<?php } ?>
그리고 이름을 입력하는 코드는 제거한다.
<li>
<label for="reg_mb_name">이름 (필수)<?php echo $desc_name ?></label>
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $name_readonly ?>" size="10" placeholder="이름">
</li>
아래에 script 부분에서 삭제해준
// 이름 검사
if (f.w.value=="") {
if (f.mb_name.value.length < 1) {
alert("이름을 입력하십시오.");
f.mb_name.focus();
return false;
}
/*
var pattern = /([^가-힣\x20])/i;
if (pattern.test(f.mb_name.value)) {
alert("이름은 한글로 입력하십시오.");
f.mb_name.select();
return false;
}
*/
}
// E-mail 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {
var msg = reg_mb_email_check();
if (msg) {
alert(msg);
f.reg_mb_email.select();
return false;
}
}
그리고 메일링 체크 및 정보공개부분도 삭제합니다.
<li class="chk_box">
<input type="checkbox" name="mb_mailling" value="1" id="reg_mb_mailling" <?php echo ($w=='' || $member['mb_mailling'])?'checked':''; ?> class="selec_chk">
<label for="reg_mb_mailling">
<span></span>
<b class="sound_only">메일링서비스</b>
</label>
<span class="chk_li">정보 메일을 받겠습니다.</span>
</li>
<?php if (isset($member['mb_open_date']) && $member['mb_open_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_open_modify'] * 86400)) || empty($member['mb_open_date'])) { // 정보공개 수정일이 지났다면 수정가능 ?>
<li class="chk_box">
<input type="checkbox" name="mb_open" value="1" id="reg_mb_open" <?php echo ($w=='' || $member['mb_open'])?'checked':''; ?> class="selec_chk">
<label for="reg_mb_open">
<span></span>
<b class="sound_only">정보공개</b>
</label>
<span class="chk_li">다른분들이 나의 정보를 볼 수 있도록 합니다.</span>
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
<span class="tooltip">
정보공개를 바꾸시면 앞으로 <?php echo (int)$config['cf_open_modify'] ?>일 이내에는 변경이 안됩니다.
</span>
<input type="hidden" name="mb_open_default" value="<?php echo $member['mb_open'] ?>">
</li>
<?php } else { ?>
<li>
정보공개
<input type="hidden" name="mb_open" value="<?php echo $member['mb_open'] ?>">
<button type="button" class="tooltip_icon"><i class="fa fa-question-circle-o" aria-hidden="true"></i><span class="sound_only">설명보기</span></button>
<span class="tooltip">
정보공개는 수정후 <?php echo (int)$config['cf_open_modify'] ?>일 이내, <?php echo date("Y년 m월 j일", isset($member['mb_open_date']) ? strtotime("{$member['mb_open_date']} 00:00:00")+$config['cf_open_modify']*86400:G5_SERVER_TIME+$config['cf_open_modify']*86400); ?> 까지는 변경이 안됩니다.<br>
이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다.
</span>
</li>
<?php } ?>
/bbs/register_form_update.php 에서 기존의 방식 때문에
닉네임을 이름으로 데이터 일치하고
메일 주소는 id@도메인 형식으로 가상의 데이타를 만들어줍니다.
#$mb_name = isset($_POST['mb_name']) ? trim($_POST['mb_name']) : '';
$mb_nick = isset($_POST['mb_nick']) ? trim($_POST['mb_nick']) : '';
$mb_name = $mb_nick;
#$mb_email = get_email_address($mb_email);
$mail_domain = str_replace('https://','@',G5_DOMAIN);
$mb_email = $mb_id.$mail_domain;
위에 2개 코드잘보면서 해당 위치에서 변경해줍니다. 특히 메일 처리부분은 config.php 에서 G5_DOMAIN을 먼저 입력해줘야합니다. (php를 오랫만에 하다보니 str_replace함수를 다른 언어함수를 써버리고 깜빡했네요;;;)
/*
보안서버 도메인
회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.
포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.
보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.
입력 예) https://www.domain.com:443/gnuboard5
*/
define('G5_DOMAIN', 'https://도메인예시.kr');
define('G5_HTTPS_DOMAIN', 'https://도메인예시.kr');
여기까지로 회원 가입에서 고정닉네임 사용으로 그누보드를 변경하였습니다.
이 다음은 캡챠 (자동등록방지) 에 대해서 이어나가겠습니다.
반응형
'웹 > 그누보드' 카테고리의 다른 글
클라우드 플레어를 사용중인 호스트에서 클라이언트의 ip주소를 알수없나 (0) | 2024.05.02 |
---|---|
윈도우로 그누보드 서버 공유기 apache , autoset 등에서 curl 에러 (0) | 2024.05.01 |
그누보드 이미지 500 에러 오토셋 url 관련 에러 httpd-vhosts.conf (0) | 2024.04.28 |
그누보드에서 봇 차단하는 방법 (1) | 2024.04.27 |
그누보드6 윈도우에 설치 및 재설정 mysql 설치 오류 해결 (0) | 2024.04.22 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 클라우드플레어
- python
- 에러
- 아미나
- 멀티계정
- 셀레니움
- 오토셋
- .htaccess
- Fullcalendar
- 그누보드5
- lsposed
- 루팅
- 윈도우
- 회원가입
- Cloudflare
- php8
- 파이선
- 아파치
- 파이썬
- 텔레그램
- xe
- 유튜브
- 제로보드
- SSL
- Magisk
- 그누보드
- php
- 워드프레스
- 텔레그램봇
- Apache
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함