시작하기에 앞서..
원래 이 글은 제 예전 블로그인 티스토리에 올려놓은 글을 참조하여 재 작성한 글입니다.
‘누구나 만들 수 있는 함수 아니야?’
라고 많이들 생각하시겠지만, 운영 하지 않는 전 블로그의 해당 글 조회수는 월 50회가 거뜬히 넘습니다.
이에 검색을 통해 제 새로운 블로그에서도 같은 정보를 얻으실 수 있으면 좋겠다 싶어 글을 옮겨왔습니다.
masking(마스킹) 처리?
마스킹 처리란, 타인이 온전한 데이터를 봐서는 안될때 쉽게 노출되지 않게 하기 위하여
* 과 같은 특수문자를 데이터에 포함하여 노출시켜주는 일종의 보안 처리 방식입니다.
개인정보를 리스트화 하여 노출 시키거나, 본인이 아닌 타인에게 노출될 우려가 있을 시 주로 사용됩니다.
masking 함수
function masking($_type, $_data){
$_data = str_replace('-','',$_data);
$strlen = mb_strlen($_data, 'utf-8');
$maskingValue = "";
$useHyphen = "-";
if($_type == 'N'){
switch($strlen){
case 2:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'*';
break;
case 3:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'*'.mb_strcut($_data, 8, 11, "UTF-8");
break;
case 4:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'**'.mb_strcut($_data, 12, 15, "UTF-8");
break;
default:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'**'.mb_strcut($_data, 12, 15, "UTF-8");
break;
}
}else if($_type == 'P'){
switch($strlen){
case 10:
$maskingValue = mb_substr($_data, 0, 3)."{$useHyphen}***{$useHyphen}".mb_substr($_data, 6, 4);
break;
case 11:
$maskingValue = mb_substr($_data, 0, 3)."{$useHyphen}****{$useHyphen}".mb_substr($_data, 7, 4);
break;
default:
trigger_error('Not a known format parametter in function', E_USER_NOTICE);
break;
}
}else{
trigger_error('Masking Function Parameter Error', E_USER_NOTICE);
}
return $maskingValue;
}
함수 파라미터 안내
$_type: ‘N’ 또는 ‘P’가 들어갑니다. ‘N’ 은 이름을 마스킹 할때, ‘P’는 연락처를 마스킹 할때 사용됩니다.
$_data: 이 파라미터엔 마스킹 처리가 될 데이터가 들어갑니다.
* $useHyphen 변수를 비우거나 {$useHyphen}을 지우는 방법으로 “01012345678” 과 같은 형식의 값을 받을 수도 있습니다.
사용 예제
– 위 함수를 사용하였을 때 나오는 결과를 아래에 기재하였습니다.
아래와 같은 마스킹 처리 효과를 보고 싶으실 때 위 함수를 사용하시면 좋을 듯 합니다.
echo masking('N', '홍길동');
= 홍*동
echo masking('N', '세바스찬');
= 세**찬
echo masking('P', '010-000-0000');
= 000-***-****
echo masking('P', '010-0000-0000');
= 000-****-****
완전 조아요!