CSP内容安全策略与vue-cli中转化为base64文件冲突解决方法

vue-cli3.0图片转base64规则配置 vue-cli3.0图片打包,小于10k的图片没有自动转base64问题处理 立即下载

出现问题:后台为了防止XXS攻击加入了CSP内容安全策略设置,导致vue-cli中通过url-loader处理为base64的字体文件和图片文件因为违反规则而图标不出现

解决方法:

(1)后台处理

以IIS为例:

   <add name="Content-Security-Policy" value="default-src 'self';" />

在上面的代码中加入允许规则,改为如下

   <add name="Content-Security-Policy" value="default-src 'self'; font-src 'self' data:; img-src 'self' data:;" />

(2)一些文章不建议上面的方式处理(因为data:这种格式允许的话并不能有效组织xxs攻击),因此也可以前端处理

前端处理,保留原来的ttf,eot等字体文件图片文件名,只用file-loader进行处理,不使用url-loader,修改build文件夹下面的webpack.base.conf.js文件中

 {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        query: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
        }
      }

改为

 {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'file-loader',
        query: {
       name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
        }
  }

修改后由于使用file-loader可能有路径问题,因为用base64转码后无路径问题,不转的话css里面引入路径如:“./static/fonts/xxx”,而文件路径如下图,因此需要请修改build里面的util.js文件,publicPath的作用是,将css引入的路径前面加入publicPath,即若一开始css引入url('./static/fonts/iconfont.tff')会改为url('../../static/fonts/iconfont.tff'),改动util.js如下


 if (options.extract) {
      return ExtractTextPlugin.extract({
        use: sourceLoader,

        fallback: 'vue-style-loader',

        publicPath:'../../',//添加该行,根据你的项目目录进行修改

      })
    } else {
      return ['vue-style-loader', sourceLoader].join('!')
    }
汽车ECU诊断刷写和OTA升级中的验签和校验 阅读详情

相关推荐

YOLOv8中Anchor-Based、Anchor-Free及样本分配策略

本文主要介绍yolov8中的anchor机制与样本分配策略的静态策略和动态策略

qq_52889317的博客 2211

Vue进阶(三十三)Content-Security-Policy(CSP)详解

跨域脚本攻击(XSS)是最常见、危害最大的网页安全漏洞。XSS 攻击利用了浏览器对于从服务器所获取的内容的信任。恶意脚本在受害者的浏览器中得以运行,因为浏览器信任其内容来源,即使有的时候这些脚本并非来自于它本该来的地方。为了防止它,要采取很多编程措施(比如大多数人都知道的转义、过滤HTML)。很多人提出,能不能根本上解决问题,即浏览器自动禁止外部注入恶意脚本?这就是"内容安全策略"(,缩写CSP)的由来。CSP。

IT全栈 华强工作室 1万+

工程创新训练大赛智能网联车辆赛道LKA+自动驾驶9000+分数分案例

/获取主车在主车路径上的ST坐标。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。

handsomeboyou的博客 1133

图片转成base64 跨域等安全限制及解决方案

把其他域的图片在canvas中转换为base64时,会遇到跨域安全限制。 目前,唯一可行的方案是,把图片文件以arraybuffer的形式ajax下载下来,然后直接转base4。 但是,这样有个毛病,就是可能会浪费带宽,多下载一次。 /* var getBase64ByUrl = function(src, callback, outputFormat) { ...

weixin_30659829的博客 922

华为2022硬件逻辑笔试题

单选题(每题两分) 1.以下关于过程赋值的描述,不正确的是() A在非阻塞性过程赋值中,使用赋值符号“< =” B赋值操作符是“=”的过程赋值是阻塞性过程赋值 C在非阻塞性过程赋值中,对目标的赋值是非阻塞的(因为时延),但可预定在将来某个时间步发生(根据时延:如果是0时延,那么在当前时间步结束) D非阻塞性过程赋值在其后所有语句执行前执行 解:D 2.芯片的功耗和下列哪种不强相关_____________。 A资源利用率 B核电压 C组合逻辑级数 D翻转率 解:A 3.下列说

weixin_44072819的博客 1万+

北京绿盟科技安服实习生面经

记一次绿盟校招技术面经历,人生第一次面试,该说不说还是很紧张的,以下是技术面的一些问题,欢迎各位大佬在评论区补充纠正对于面试的问题,都应该自己下来深度去拓展学习,面试官问的问题刚好可以检测我们自己对某个模块的学习情况,借此更好的进行总结和学习。

qq_51690690的博客 3237

使用base64格式,实现上传图片功能时,base64格式前缀导致上传图片加载失败

使用base64格式,实现上传图片功能时,base64格式前缀导致上传图片加载失败

qq_41859063的博客 2056

STM32驱动HC-SR04超声波模块

本篇文章将带大家使用HAL库驱动HC-SR04超声波模块。超声波模块作为智能小车必备的模块,要学习智能小车的同学是必须掌握好这个模块的使用的。HC-SR04是一种常用的超声波传感器模块,也被称为超声波测距模块,广泛应用于各种自动化控制和测距系统中。它通常由超声波发射器、接收器、控制电路和外壳组成,可以实现非接触式的距离测量。下面是HC-SR04超声波模块的一些特性和技术参数:距离测量范围:2cm ~ 400cm(可调)。测量精度:0.3cm。工作电压:DC 5V。工作电流:15mA。

m0_49476241的博客 7684

vue 上传图片 base64图片无法显示的问题

后台返回的base64无法显示的原因 原因一: 返回的base64中存在换行和空格, 这样前端直接渲染的话就显示不出来 解决办法: let strss = `data:image/jpg;base64,${res.data}`; let image1path = strss.replace(/[\r\n]/g,"") ${res.data} 这个是返回的base64编码 ...

TO_Web的博客 5454

Supreme小程序自动化抢购终端——源码架构与执行流程全解析

本系统是一套基于开发的桌面端小程序自动化抢购终端。把只有开发者能跑的脚本,包装成普通用户也能操作的桌面工具。参数自动捕获 → 商品多关键词检索 → sku/尺码/库存映射 → 多商品任务队列 → 定时/立即抢购 → 订单创建 → 支付参数拉取 → 本地服务生成支付链接 → 手机微信扫码付款这套 Supreme 抢购终端,表面上看是一个"下单工具"。但从工程角度审视,它已经具备了一个小型桌面自动化系统GUI 层:CustomTkinter 现代化界面,线程安全业务层:多商品队列、定时调度、任务编排。

猫敷雪 204

S7-200 SMART PLC 数字量阀门控制功能块(FB)汇总

S7-200 SMART PLC功能块的各种写法可以查看专栏的其它文章,链接地址如下:S7-200 SMART PLC 子程序功能块(阀门控制)_RXXW_Dor的博客-优快云博客_plc控制阀门开关程序由于S7-200 SMARTPLC的子程序种种功能、容量限制,有时想实现多次调用的子程序可能并不是太容易,这篇博客还是给出一些推荐写法,供大家参看。

RXXW_Dor的博客 4001

Java与CSP数据兼容之二:Java兼容CSP导出的RSA私钥数据

介绍在Java语言中三种创建RSA私钥对象的方法,以及实现RSA私钥从C++到Java的数据格式转化。

密码开发者 1953

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet,在计算机视觉领域,卷积神经网络(Convolutional Neural Network,CNN)已然成为推动众多任务发展的核心力量。从早期简单的图像识别,到如今复杂的目标检测、语义分割、图像生成等任务,CNN 都展现出了卓越的性能。CNN 的发展历程见证了一系列经典模型的诞生,其中 LeNet 作为开山之作,为 CNN 的发展奠定了基础,而 ResNet 则通过创新性的设计,突破了传统神经网络的限制,使得网络能够构建得更深、性能更优。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

CSP 内容安全策略, 介绍, 配置CSP策略, CSP实战绕过

CSP(内容安全策略)是一种额外的安全层,可以帮助检测和减轻某些类型的攻击,如跨站脚本攻击(XSS)和数据注入攻击。CSP允许网站管理员定义哪些动态资源允许执行和加载,有助于防止恶意脚本执行以及非授权内容的加载。通过使用HTTP头部,网站可以控制用户代理如何执行页面的特定部分,这可以显著减少XSS攻击的风险。default-src:设置默认加载资源的策略(例如,自身的源、任何地方的源、或者不加载任何外部资源)。

探测??? 6236

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

关于CSP及其相关实现

【代码】关于CSP及其相关实现。

Wang的专栏 1363

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

“Content-Security-Policy”头缺失或不安全

中间件为IIS,网站根目录下找到“web.cofig”文件,没有则新建该文件。复制以下代码,粘贴到web.cofig文件中(新建全部复制,已有复制system.webserver) <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpProtoc...

(ง •_•)ง 1万+

网络安全:(十二)基于 CSP 的前端内容安全策略:减少 XSS 风险

CSP 是一种 web 安全策略,旨在帮助开发者防止 XSS 攻击及其他代码注入的威胁。它通过定义网页允许加载的内容类型、源站点、请求方式等策略,来限制页面中哪些资源可以被加载、哪些脚本可以执行。通过 CSP 可以将未经授权的内容阻止,从而保护用户数据。通过 CSP 配置,可以有效防止不可信脚本的执行,减少 XSS 攻击的风险。在 Vue 项目中,CSP 配置可以结合内联脚本的nonce和hash控制,进一步提升安全性。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 2132

内容安全策略( CSP )

CSP官网 必须查看官网。 最近项目需求,需要实现获取HDFS服务器上文件,视频、音频、图片实现预览。 遇到了两个问题: 1、提示Security-Policy media-src self blob:; 2、base64解析出错。 百度了将近几个小时,发现每一个人说清楚具体。最后看了官网一目了然。 内容安全策略 (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段。 CSP 被

weixin_42603009的博客 673

使用vue开发Chrome插件——vue无法正常使用(CSP环境导致)

使用vue开发Chrome插件——vue无法正常使用(CSP环境导致) 问题描述: 这几天在尝试着用vue开发Chrome小程序,但是在开发的第一步就遇到了问题,在尝试用vue进行数据渲染的时候发现数据无法被渲染并且处于vue标签内的所有标签都会被禁止渲染。 前端代码: <body> <div>test outSide</div> <div id="app"> <p>{{ messag

Neonsekii的博客 1440

常见的前端安全CSRF/XSS以及常规安全策略

5、前端的常规安全策略 ① 定期请第三方机构做安全性测试和漏洞扫描 ② code review 保证代码质量 ③ 默认项目中设置对应的 Header 请求头,如 X-XSS-Protection、 X-Content-Type-Options 、X-Frame-Options Header、Content-Security-Policy 等等 ④ 尽量不用v-html、在有输入框的地方要对输入做拦截和校验等

小草莓的博客 2315

because it violates the following Content Security Policy directive: “img-src ‘self‘ data:base64“

在vue项目中的index.html文件中 修改。vue中放一张图片咋样都不显示,还报错,ma的。直接复制,替换掉 就ok。

老电影故事的博客 2230

网络安全:(七)Vue 项目中的点击劫持(Clickjacking)攻击及其防御措施

点击劫持是一种网页攻击技术,通常利用透明或隐蔽的 iframe,使用户无意中点击到恶意网页的按钮或链接。攻击者可能会利用点击劫持进行广告欺诈、社交工程攻击,甚至窃取用户的敏感数据。点击劫持是一种常见且危险的网络攻击,但通过设置合适的 HTTP 响应头(如和CSP)、在前端进行 JavaScript 检测,以及多层次的防御手段,我们可以有效保护 Vue 项目免受这种攻击。在实际开发中,应该根据项目需求,综合应用这些防御措施,确保应用的安全性。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 2094

Vue框架的使用 && 搭建打包 && Vue的安全问题(Xss,源码泄露)

什么是Vue?Vue是轻量级的js框架 可以帮助我们一键构造网站,打包app程序等。

2301_81155391的博客 584

关于base64 img标签无法加载的问题

1. server nginx config配置,增加后, restart nginx。注意:这里可以根据自己需要修改,例如img-src 允许。中,没有配置对应的部分,那么会默认使用。如果要设置允许请求数据的话,则需要设置。2.html页面标签更改。错误提示中,已经说是违反了。指令中没有设置我们发送请求。,意思是可以请求到任何的。设置,因此拒绝访问。

weixin_52675040的博客 1556

内容安全策略 Content-Security-Policy

1、限制资源获取:限制网页当中一系列的资源获取的情况,从哪里获取,请求发到哪个地方限制方式:default-src限制全局的和链接有关的作用范围根据资源类型(connect-src、img-src等),限制资源范围2、报告资源获取越权:在网页当中获取了一些我们不应该获取的资源的时候,给服务进行报告,报告资源获取越权,然后做出调整之所以报这个错误,就是我们加了这个头的作用。这个时候 inline脚本还是不能执行的。如果引入外链的脚本文件,则会报错,这样就可限制,只能使用我们本站使用的脚本。

qq_30436011的博客 3万+

vue-前端安全问题学习

8大典型的前端安全问题 1. 吉林干部培训 http://jl.ganxun.cn/ XSS攻击:跨站脚本攻击(Cross-Site Scripting) 本质原因:浏览器错误的将攻击者提供的用户输入数据当做JavaScript脚本给执行了 XSS分类,按照恶意输入的脚本是否在应用中存储,XSS被划分为“存储型XSS”和“反射型XSS”, 按照是否和服务器有交互,又可以划分为“Server Side XSS”和“DOM based XSS”。

cmdos的专栏 2313
上一篇: vuex踩坑记-注入store过程中vue文件报错store is not define,state is not define..各种undefine
下一篇: 基于elementui源码实现自定义穿梭框transfer组件
小简GoGo
博客等级 码龄10年 50粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值