[!CAUTION] 치명적인 공급망 보안 경고: 기존
polyfill.io도메인은 제3자에게 인수되어 공급망 악성코드 삽입 공격에 악용되었습니다. 모든 프로덕션 코드베이스에서polyfill.io참조를 즉시 제거하세요.
안전한 Cloudflare CDN 대안
Cloudflare와 cdnjs는 검증되고 격리된 폴리필 라이브러리의 즉시 교체 가능한(drop-in) 미러를 호스팅합니다:
<!-- Cloudflare가 제공하는 안전한 즉시 대체 URL -->
<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js"></script>
조건부 기능 로딩
ES6+ API를 기본 지원하는 최신 브라우저에서 불필요한 폴리필 로드를 피하려면 script 태그를 삽입하기 전에 인라인 기능 감지를 사용하세요:
<script>
if (!(window.Promise && [].includes && Object.assign && window.Map)) {
var script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js';
document.head.appendChild(script);
}
</script>
권장되는 최신 방식: Core-JS 및 번들러 폴리필
최신 프론트엔드 개발에서는 런타임에 외부 스크립트를 로드하는 대신 컴파일 단계(Vite, Webpack, Babel 등)에서 폴리필을 번들링합니다:
npm install core-js
애플리케이션 진입점(index.js)에서:
import 'core-js/stable';