회원가입시 아이디와 닉네임 필터....

Amina Q & A

아미나 질답게시판

홈 > 아미나 > 질답/버그/제안
질답/버그/제안

회원가입시 아이디와 닉네임 필터....

22 큰골통 6 42

수고 많으십니다ㅣ.

회원가입시 아아디와 닉네임 작성시 급지어 중에서

일정단어가 들어가는 문구를 원천금지 시킬 수 있을까요?


단어 필터링에 있는 단어가 작동하는것 처럼

아이디,닉네임 금지단어 에도 적용할수 있는 방법이 있는가 해서요...


예를 들면 apple, 라고 금지단어에 등록하면 앞 부분이든 뒷 부분이든 apple 이 들어가면 사용할 수 없게요...

파일의 apple*  이런식의......


도메인명을 삽입한 아이디와 닉네임이 들어와서요.ㅠㅠㅠ

6 Comments
M 한별아빠 06.04 19:46  
1. 어... 문제가 많을꺼 같은데...ㅠㅠ

2. /lib/register.lib.php 파일 46라인, 86라인에 포함여부 체크하도록 하면 되는데... 제가 봐서는 빈대 잡을려다 집 태우는 격이 되지 않을까 하네요.

if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id']) || strpos($config['cf_prohibit_id'], $reg_mb_id) !== false)

3. 변수는 각 함수에서 맞게 넣어 주셔야 할 것 입니다.
22 큰골통 06.05 00:06  
빠른 답변 감사합니다.

걱정하시니 무서워서 백업 해놓고 태스트 했습니다.
46라인을
if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id']) || strpos($config['cf_prohibit_id'], $reg_mb_id) !== false)
덥어 쓰고
89라인도
if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']) || strpos($config['cf_prohibit_id'], $reg_mb_nick) !== false)
덥어 썻습니다.
기본환경설정의 아이디,닉네임 금지단어도 혹시해서 다 지우고 apple 한개만 썻습니다.
그런대 아이디로 myapple, 닉네임으로 applejam 으로 가입이 되내요....
제가 잘못 수정했나 해서요..
M 한별아빠 06.05 01:09  
어... 반대로 체크할꺼면 아래처럼 함수 하나 따로 만들고, 이 함수로 체크하도록 해야 합니다.

function reg_filter($stx) {
	global $config;

	$filter = explode(",", trim($config['cf_prohibit_id']));
	$cnt = count($filter);
	for ($i=0; $i < $cnt; $i++) {

		$str = trim($filter[$i]);

		if(!$str) 
			continue;

		// 필터링
		if (stripos($stx, $str) !== false) 
			return 1;
	}

    return 0;
}


if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id']) || reg_filter($reg_mb_id))
22 큰골통 06.05 04:48  
ㅠㅠㅠㅠㅠ
답변을 주셔도 이게 어떻게 하라는건지를 모르니......

제 수준에서 이렇게 해 봤습니다.
/lib/register.lib.php 파일의 위쪽에
if (!defined('_GNUBOARD_')) exit; 라인 아래에 주신 함수를 붙혔습니다.

그리고
    if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id'])) 라인을
    if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id']) || reg_filter($reg_mb_id))  로 덥어썻습니다.
아 ~~~~~~~myapple / applejam 가입이 되내요.
제가 뭔가 잘못했죠???
M 한별아빠 06.05 17:39  
함수 다시 체크해 보세요. 아래처럼 되어 있는지...

$filter = explode(",", trim($config['cf_prohibit_id']));
22 큰골통 06.06 13:33  
감사 합니다.
어제도 주신 소스를 복사해서 그대로 붇혀넣기 했었는대...안됬었는대
지금 다시 복사해서 붇혀넣기했는대 잘됩니다.
제가 뭘 잘못했었나 보내요.
닉네임은
if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']) || reg_filter($reg_mb_nick))
하니까 되내요.
감사합니다.
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand