HTML <script> integrity 속성

정의와 사용법

정확성 속성은 브라우저가 받은 스크립트를 확인하며, 소스 코드가 위변조되지 않았는지 확인하여 코드를 로드하지 않도록 합니다.

자원의 정확성(SRI)은 W3C 규범으로, Web 개발자가 제3자 서버에 저장된 자원이 변경되지 않았음을 보장할 수 있도록 합니다. SRI를 사용하는 것을 추천합니다!

SRI를 사용할 때, 웹 페이지는 해시 값을 저장하고, 서버는 파일(이 예제에서는 .js 파일)을 저장합니다. 브라우저는 파일을 다운로드한 후, 소스 코드가 변경되지 않았는지 확인하기 위해 파일을 확인합니다. 정확성 속성의 해시 값이 일치합니다. 일치하면 해당 파일을 사용하며, 일치하지 않으면 파일을 차단합니다.

SRI 해시 값을 생성할 수 있는 온라인 SRI 해시 생성기를 사용할 수 있습니다: SRI 해시 생성기.

예제

integrity와 crossorigin 속성을 동시에 사용하여 CDN에 링크:

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous">
</script>

문법

<script integrity="filehash">

속성 값

설명
filehash 외부 스크립트 파일의 파일 해시 값.

브라우저 지원

표의 숫자는 해당 속성을 최초로 완전히 지원하는 브라우저 버전을 나타냅니다.

크롬 에지 파이어폭스 사파리 오페라
크롬 에지 파이어폭스 사파리 오페라
45.0 17.0 43.0 13.0 66.0