Page tree
Skip to end of metadata
Go to start of metadata


릴리즈 2.4.0 이상

주민등록번호, 이메일, 전화번호와 같은 개인정보들을 필터링하여 '*'로 치환해주는 '개인정보보호' 플러그인입니다.

사용방법

플러그인 파일 불러오기

<!-- SynapEditor 객체가 존재해야 적용할 수 있기 때문에 에디터 스크립트 파일 아래에 include 해야 합니다 -->

<script src="personalDataProtection.min.js의 url"></script>
<link rel="stylesheet" href="personalDataProtection.min.css의 url">

UI

플러그인 이름인 'personalDataProtection'을 사용하여 툴바 영역, 메뉴 영역에 버튼을 추가할 수 있습니다.

툴바에 추가

에디터 설정
//...
'editor.toolbar': [
	//...,
	'personalDataProtection',
	//...
],
// ...

메뉴에 추가

에디터 설정
//...
'editor.menu.definition': {
	//...,
	'tools': [
		//...,
		'personalDataProtection',
		//...
	],
	//...
},
//...

config설정

릴리즈 2.15.0 이상

개인정보보호 검사규칙을 추가하거나 수정 할 수 있습니다.

설정

Key설명

'personalDataProtection.config': {

    [type]: {

        regExp: RegExp,

        messages: {

            en: string,

            ko: string,

            ja: string,

            zh: string,

            zh_tw: string,

            vi: string,

        }

    },

    replaceText: function(text: string, replaceChar: string, regExp: RegExp): string

}

개인정보보호 검사규칙을 설정합니다.


(필수) 개인정보보호를 검사할 정규식을 정의합니다.

(선택) 다이얼로그의 구분항목에 들어갈 메세지를 정의 합니다.

           6가지 언어로 지정이 가능합니다.

           메세지가 지정되지 않은 경우 type으로 대체하며, 각 언어가 지정되지 않은 경우 영어로 대체됩니다.







(선택) 개인정보보호 검사에서 검출된 문자열을 수정하는 함수를 정의합니다.

          반드시 문자열을 반환해야 합니다.

          함수가 없을 경우 모두 '*'로 수정합니다.

          (parameter)

               text: 개인정보보호 검사규칙으로 찾아낸 문자원본 입니다. ex) '010-1234-5678'

               replaceChar: 변경할 문자입니다. ex) '*'

               regExp: 개인정보보호를 검사할 정규식입니다. ex) /([a-z0-9_\-\.]+)@([a-z0-9_\-\.]+)\.([a-z]{2,5})/gi

synapeditor.config.js
{ // 개인정보보호 플러그인 기본설정 값
    'regNumber': {
        regExp: /(([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|[1,2][0-9]|3[0,1]))([- .]?)([0-9]{7})/g,
        messages: {
            en: 'Registration Number',
            ko: '주민등록번호'
        }
    },
    'phoneNumber': {
        regExp: /\+?(((0|82)((2|31|32|33|41|42|43|44|51|52|53|54|55|61|62|63|64|11|12|13|14|15|16|17|18|19|70|80)[-) .]?)([0-9]{3,4}))|((0|82)10[-) .]?[0-9]{4}))[- .]?([0-9]{4})/g,
        messages: {
            en: 'Phone Number',
            ko: '전화번호'
        }
    },
    'email': {
        regExp: /([a-z0-9_\-\.]+)@([a-z0-9_\-\.]+)\.([a-z]{2,5})/gi,
        messages: {
            en: 'E-Mail',
            ko: '이메일'
        }
    }
}

{ // config설정 예제
    'personalDataProtection.config': {
        'phoneNumber': { // 기존 개인정보보호 설정값 수정
            replaceText: function(text, replaceChar, regExp) {
                var index = 0;
                return text.replace(/\d+/g, function(match) {
                    return index++ === 1 ? match.replace(/\d/g, replaceChar) : match;
                })
            }
        },
        'company_name_check': { // 새로운 개인정보보호 설정
            regExp: /synapsoft/gi,
            messages: {
                en: 'Company Name',
                ko: '회사명',
                ja: '会社名',
                zh: '公司名称',
                zh_tw: '公司名稱',
                vi: 'Tên công ty'
            },
            replaceText: function(text, replaceChar, regExp) {
                return text.replace(/[s]/gi, replaceChar);
            }
        }
    }
}

[ config설정 예제 적용결과 ]

API

editor.checkPersonalData(callback)

릴리즈 2.13.0 이상

개인정보보호 검사를 수행하고 결과를 인자로 받은 callback 함수로 반환합니다.

Parameters:

nameTypeDescription
callbackFunction

개인정보 검사 결과를 받을 콜백함수입니다. 검사 결과가 Boolean 으로 반환됩니다.

function (result) {
    // result 값 true: 통과, false: 실패
}

Example

editor.checkPersonalData(function (result) {
    if (!result) {
        // 개인 정보 검사가 통과되지 않으면 개인 정보 검사 다이얼로그 열기
        editor.getUIManager().showDialog('personalDataProtection');
    }
});
  • No labels