보안 목적상 코드를 마스킹처리해야 한다. 일부는 정규표현식을 사용했다.
| 
 <?php 
// ######### 마스킹 처리 ########### 
function phoneNoMasking($str){ // 휴대폰번호 마스킹 처리 
    $str = str_replace('-','',$str); 
    $strlen = mb_strlen($str, 'utf-8'); 
    $mValue = ""; 
    switch($strlen){ 
        case 10: 
            $mValue = mb_substr($str,0,3)."-".mb_substr($str,3,1)."**"."-*".mb_substr($str,7,3);; 
            break; 
        case 11: 
            $mValue = mb_substr($str,0,3)."-".mb_substr($str,3,2)."**"."-*".mb_substr($str,8,3); 
            break; 
        case 0: 
            $mValue =''; 
            break; 
    } 
    return $mValue; 
} 
function IDMasking($str){ // id 마스킹 
    $mValue = preg_replace('/.{3}$/', '***', $str); 
    return $mValue; 
} 
function EmailMasking($str){ // 수정 보완 필요 
    //$str = preg_replace('/(?:^|@).\K|\.[^@]*$(*SKIP)(*F)|.(?=.*?\.)/', '*', $str); 
    $pattern = '/(\w+)(\w{3})(@.{1})(?=.*?\.)(.+)/i'; 
    $replace = '\1***\3*\5'; 
    //$str = preg_replace('/(\w+)(\w{3})@(\w+)/i','\1***@\3',$str); 
    $str = preg_replace('/(\w+)(\w{3})(@.{1})([\w*?]+)(.+)/i','\1***\3*\5',$str); 
    return $str; 
} 
function IPaddressMasking($str){ 
    // ? : 0 ~ 1, + : 1개 이상 
    $str = preg_replace('/(\d+)([\.]\d+[\.])(\d+)([\.]\d+)/i','***\2***\4',$str); 
    return $str; 
} 
function DeviceIDMasking($str){ // 휴대폰 기기번호 전부 마스킹 처리 
    $mValue = preg_replace('/(.*?)/', '*', $str); 
    return $mValue; 
} 
function letterMasking($str){ // 문자열 마스킹 : 홍*동 
    $str = str_replace('-','',$str); 
    $strlen = mb_strlen($str, 'utf-8'); 
    $mValue = ""; 
    switch($strlen){ 
        case 2: 
            $mValue = mb_strcut($str, 0, 3, "UTF-8").'*'; 
            break; 
        case 3: 
            $mValue = mb_strcut($str, 0, 3, "UTF-8").'*'.mb_strcut($str, 8, 11, "UTF-8"); 
            break; 
        case 4: 
            $mValue = mb_strcut($str, 0, 3, "UTF-8").'**'.mb_strcut($str, 12, 15, "UTF-8"); 
            break; 
        default: 
            $mValue = mb_strcut($str, 0, 3, "UTF-8").'**'.mb_strcut($str, 12, 15, "UTF-8"); 
            break; 
    } 
    return $mValue; 
} 
?> 
 | 
728x90
    
    
  '정규표현식' 카테고리의 다른 글
| parse MAC Address using Java Regular Expression (0) | 2021.08.07 | 
|---|---|
| PHP 정규표현식 후방탐색, 전방탐색 (0) | 2021.07.28 | 
| 55에서 255까지의 범위 정규식 (PHP 정규표현식) (0) | 2021.07.28 | 
| 전화번호 추출 PHP 정규표현식 예제 (0) | 2021.07.27 | 
| PHP 정규표현식 특정범위 숫자 찾기 (0) | 2018.06.28 |