react/iframe-missing-sandbox 의심스러움
작동 방식
<iframe> 요소에 sandbox 속성이 반드시 포함되도록 강제합니다.
왜 문제가 되는가?
sandbox 속성은 <iframe> 내부 콘텐츠에 추가적인 제한을 적용합니다. sandbox 속성을 사용하는 것은 보안 관점에서 좋은 실천 방법으로 간주됩니다. 샌드박싱에 대한 자세한 정보는 MDN의 sandbox 속성 문서를 참조하세요.
이 규칙은 모든 리액트 <iframe> 요소를 검사하여 sandbox 속성이 존재하고, 그 값이 유효한지 확인합니다. 또한 allow-scripts와 allow-same-origin이 동시에 지정된 경우를 보고합니다. 이 조합은 임베드된 문서가 sandbox 속성을 제거하고 제한 조건을 우회할 수 있게 하므로 안전하지 않습니다.
예시
이 규칙에 적합하지 않은 코드 예시:
jsx
<iframe />;
<iframe sandbox="invalid-value" />;
<iframe sandbox="allow-same-origin allow-scripts" />;이 규칙에 적합한 코드 예시:
jsx
<iframe sandbox="" />;
<iframe sandbox="allow-origin" />;사용 방법
설정 파일이나 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["react"],
"rules": {
"react/iframe-missing-sandbox": "error"
}
}bash
oxlint --deny react/iframe-missing-sandbox --react-plugin