관리자 페이지에 설명은 "입력된 단어가 포함된 내용은 회원아이디, 별명으로 사용할 수 없습니다." 라고 되어 있지만
실제 그누보드에서는 '단어가 포함된 내용' 이 아니라 '단어와 일치한 내용' 만 걸러집니다.
다음과 같이 수정하시면 해결이 됩니다.
1) bbs/register_form_update.php 파일
----
수정전
if (preg_match("/[\,]?{$mb_id}/i", $config[cf_prohibit_id]))alert("\'$mb_id\' 은(는) 예약어로 사용하실 수 없는 회원아이디입니다.");if (preg_match("/[\,]?{$mb_nick}/i", $config[cf_prohibit_id]))alert("\'$mb_nick\' 은(는) 예약어로 사용하실 수 없는 별명입니다.");
수정후
$wrd = explode(",", $config[cf_prohibit_id]);for ($i=0, $m=count($wrd); $i<$m; $i++) {$tmp = trim($wrd[$i]);if (preg_match("/{$tmp}/i", $mb_id))alert("\'$mb_id\' 은(는) 예약어로 사용하실 수 없는 회원아이디입니다.");if (preg_match("/{$tmp}/i", $mb_nick))alert("\'$mb_nick\' 은(는) 예약어로 사용하실 수 없는 별명입니다.");}
2) skin/member/사용중인회원스킨/ajax_mb_id_check.php 파일
----
수정전
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_id = '$reg_mb_id' ");if ($row[cnt]) {echo "130"; // 이미 존재하는 회원아이디} else {if (preg_match("/[\,]?{$reg_mb_id}/i", $config[cf_prohibit_id]))echo "140"; // 예약어로 금지된 회원아이디elseecho "000"; // 정상}
수정후
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_id = '$reg_mb_id' ");if ($row[cnt]) {echo "130"; // 이미 존재하는 회원아이디} else {$wrd = explode(",", $config[cf_prohibit_id]);for ($i=0, $m=count($wrd); $i<$m; $i++) {$tmp = trim($wrd[$i]);if (preg_match("/{$tmp}/i", $reg_mb_id)) {echo "140"; exit;}}echo "000";}
3) skin/member/사용중인회원스킨/ajax_mb_nick_check.php 파일
----
수정전
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_nick = '$reg_mb_nick' ");if ($row[cnt]) {echo "130"; // 이미 존재하는 별명} else {echo "000"; // 정상}
수정후
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_nick = '$reg_mb_nick' ");if ($row[cnt]) {echo "130"; // 이미 존재하는 별명} else {$wrd = explode(",", $config[cf_prohibit_id]);for ($i=0, $m=count($wrd); $i<$m; $i++) {$tmp = trim($wrd[$i]);if (preg_match("/{$tmp}/i", $reg_mb_nick)) {echo "140"; exit;}}echo "000";}
4) skin/member/사용중인회원스킨/ajax_register_form.jquery.js 파일 case '140' 라인 추가
----
switch(result) {case '110' : msg.html('별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다.').css('color', 'red'); break;case '120' : msg.html('한글 2글자, 영문 4글자 이상 입력 가능합니다.').css('color', 'red'); break;case '130' : msg.html('이미 존재하는 별명입니다.').css('color', 'red'); break;case '140' : msg.html('예약어로 사용할 수 없는 별명 입니다.').css('color', 'red'); break; // 추가case '000' : msg.html('사용하셔도 좋은 별명 입니다.').css('color', 'blue'); break;default : alert( '잘못된 접근입니다.\n\n' + result ); break;}
※ 로그인 하시면 원본파일을 볼 수 있습니다. ※
코멘트 0