본문 바로가기
Programming/> Javascript

[Javascript] bootstrap cdn에 integrity, crossorigin이 있는 이유

by 니키ᕕ( ᐛ )ᕗ 2015. 11. 3.

Bootstrap CDN

The folks over at MaxCDN graciously provide CDN support for Bootstrap's CSS and JavaScript. Just use these Bootstrap CDN links.

Copy
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css" integrity="sha384-aUGj/X2zp5rLCbBxumKTCw2Z50WgIr1vs/PFN4praOTvYXWlVyh2UtNUU0KAUhAX" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" integrity="sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ==" crossorigin="anonymous"></script>


작년에 할 땐 못봤는데 요번에 bootstrap cdn을 가지고 오려고보니 intergrity crossorigin이 새로 붙어있었다. 

이유를 찾아보니 보안 때문...


W3C에서 Subresource Integrity라는 HTTP가 스크립트를 제어할 수 있는 기능을 추가했는데, 

해쉬값으로 스크립트를 증명하고 해쉬값이 브라우저 값과 일치하지 않으면 실행되지 않도록 한다고 한다.


integrity는 소스코드가 조작된 경우 코드가 로드되지 못하도록 브라우저에서 체크하도록 하는 해쉬값이고 

crossorigin(anonymous, use-credentials)은 요청이 same-origin이 아닌 경우, Subresource Integrity 요구사항 검사가 Cross-Origin Resource Sharing을 사용하여 로드될 수 있도록 하기 위한 것인듯.. 


영어를 안 읽어버릇 했더니 점점 독해력이 떨어지고 있다...ㅠㅠ


정보출처 : http://stackoverflow.com/questions/32039568/what-are-the-integrity-and-crossorigin-attribute

Subresource Intergrity 보안관련: http://blog.alyac.co.kr/321

W3C Subresource Intergrity Reference : http://www.w3.org/TR/SRI/

댓글