js--script和link中的 integrity 属性

 <link crossorigin="anonymous" integrity="sha256-+hDz/gVbhp24mhOmoIT4Du4F3K5fs9fjjoe0rP5gSLs=" rel="stylesheet" href="/assets/css/home.css" />  

link或script中的 integrity 属性:为了防止 CDN 篡改 javascript 用的。 

 

"anonymous"会发起一个跨域请求(即包含 Origin: HTTP 头). 但不会发送任何认证信息 (即不发送 cookie, X.509 证书和 HTTP 基本认证信息). 如果服务器没有给出源站凭证 (不设置 Access-Control-Allow-Origin: HTTP 头), 这张图片就会被污染并限制使用.

 

 这个 integrity 属性的值来 指定浏览器提取的资源(文件)的base64编码的加密哈希值。如果资源匹配其中一个哈希值,它将被加载。
 

<script><link>integrity值 至少一个字符串,每个串包括指示特定散列算法(目前允许的前缀的前缀sha256sha384sha512),然后用短划线,并与实际base64编码散列结束。例如:

sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC
 
posted @ 2017-07-19 17:46  九许尘歌  阅读(11210)  评论(1编辑  收藏  举报