JavaScript 연동
바닐라 JavaScript를 사용하여 모든 웹사이트에 SilentShield를 연동하거나, React, Vue, Angular용 프레임워크별 가이드를 사용하세요.
1. 스크립트 태그 추가
HTML에 다음 스크립트 태그를 추가합니다. 닫는 </body> 태그 앞에 넣는 것이 좋습니다:
HTMLhtml
<script src="https://api.silentshield.io/client.js?key=YOUR_API_KEY" defer></script>2. 위젯 초기화
DOM이 로드된 후 SilentShield.init()을 호출합니다:
JavaScriptjavascript
document.addEventListener('DOMContentLoaded', function() {
SilentShield.init({
apiKey: 'YOUR_API_KEY',
lang: 'auto',
features: {
telemetry: true,
captchaUI: true,
fallbackCaptcha: true,
showBrandingBadge: true,
},
onVerdict: function(response) {
console.log('SilentShield verdict:', response);
}
});
});설정 옵션
apiKey- API 키 (필수)
lang- 언어 코드 또는 브라우저 자동 감지를 위한 'auto' (기본값: 'auto'). 25개 언어를 지원합니다.
thresholdSuspicious- 이 점수 미만이면 챌린지가 트리거됩니다 (기본값: 0.6)
thresholdBlock- 이 점수 미만이면 요청이 차단됩니다 (기본값: 0.3)
telemetry- 행동 추적 활성화 (기본값: true)
captchaUI- 필요 시 CAPTCHA UI 표시 (기본값: true)
fallbackCaptcha- 수학 CAPTCHA 폴백 활성화 (기본값: true)
showBrandingBadge- 'Protected by SilentShield' 배지 표시 (기본값: true)
zeroPii- Disable browser fingerprinting for maximum privacy (default: false). See Features → Zero-PII Mode.
debugOverlay- 디버그 오버레이 표시 (기본값: false)
onVerdict- 판정 결과를 수신할 때 호출되는 콜백 함수
싱글 페이지 애플리케이션 (SPA)
클라이언트 측 라우팅(React Router, Vue Router 등)을 사용하는 SPA의 경우, SilentShield는 자동으로 DOM 변경을 감지하고 새로운 폼을 탐지합니다. 페이지 이동 후 재초기화가 필요하지 않습니다.
Nonce 읽기
폼 제출 후 Nonce는 숨겨진 필드로 사용할 수 있습니다:
HTMLhtml
const nonce = document.querySelector('input[name="ss_nonce"]')?.value;