integrity&crossorigin

原文链接: https://blog.csdn.net/setlilei/article/details/100808672
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
        integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
        crossorigin="anonymous"></script>
  • integrity检验加载的JavaScript文件是否完整 通过指定的hash值

integrity=“sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo” 告诉浏览器 使用sha384签名算法对下载的js文件进行计算
并与intergrity提供的摘要签名对比 如二者不一致不会加载此资源 可减少资源被篡改而引入的XSS风险

  • crossorigin HTML5新规定允许本地获取到跨域脚本的错误信息 但有两个条件 一是跨域脚本的服务器必须通过Access-Controll-Allow-Origin头信息允许当前域名可以获取错误信息
    二是当前域名的script标签也必须指明src属性指定的地址是支持跨域的地址 也就是crossorigin属性

  • anonymous 如果使用这个值的话就会在请求中的header中的带上Origin属性 但请求不会带上cookie和其他的一些认证信息
    use-credentials 这个就同时会在跨域请求中带上cookie和其他的一些认证信息
    在使用这两个值时都需要server端在response的header中带上Access-Control-Allow-Credentials属性 可通过服务端配置开启此属性

    可引入跨域资源的标签 link img等都有此属性

猜你喜欢

转载自blog.csdn.net/setlilei/article/details/100808672
今日推荐