Skip to content
← Back to rules

nextjs/no-unwanted-polyfillio 정확성

작동 방식

안전하지 않은 polyfill.io 도메인 사용 및 중복 폴리필 사용을 막습니다.

왜 나쁜가요?

보안 위험: 2024년 공급망 공격에서 cdn.polyfill.iopolyfill.io 도메인이 악의적인 행위자에게 인수되었으며, 웹사이트에 해로운 코드를 삽입하기 시작했습니다. 38만 개 이상의 웹사이트가 영향을 받았습니다. 이러한 도메인은 어떠한 상황에서도 사용해서는 안 됩니다.

성능 문제:cdnjs.cloudflare.com/polyfill/과 같은 안전한 대안을 사용할 경우, 이미 Next.js에서 함께 제공되는 폴리필을 추가하는 것은 페이지 크기를 불필요하게 증가시켜 로딩 성능에 영향을 줄 수 있습니다.

예시

이 규칙에 대해 잘못된 코드 예시:

javascript
// 보안 위험 - 침해된 도메인
<script src='https://cdn.polyfill.io/v2/polyfill.min.js'></script>
<script src='https://polyfill.io/v3/polyfill.min.js'></script>

// 중복 폴리필
<script src='https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=Array.prototype.copyWithin'></script>
<script src='https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=WeakSet%2CPromise'></script>

사용 방법

구성 파일 또는 CLI를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "plugins": ["nextjs"],
  "rules": {
    "nextjs/no-unwanted-polyfillio": "error"
  }
}
bash
oxlint --deny nextjs/no-unwanted-polyfillio --nextjs-plugin

참고 자료