首页
学习
活动
专区
圈层
工具
发布

如何优雅的处理CSP问题

image.png 内容安全策略(Content Security Policy下面简称CSP)是一种声明的安全机制,我们可以通过设置CSP来控制浏览器的一些行为,从而达到防止页面被攻击的目的...CSP 的实质就是白名单制度,启用 CSP即开发者通过配置告诉客户端,哪些外部资源可以加载和执行,等同于对可使用资源设置白名单。具体的实现和执行全部由浏览器完成,开发者只需提供配置。...常用CSP限制项 script-src:外部脚本 style-src:样式表 img-src:图像 media-src:媒体文件(音频和视频) font-src:字体文件 object-src:插件(比如...:自动将网页上所有加载外部资源的 HTTP 链接换成 HTTPS 协议 plugin-types:限制可以使用的插件格式 sandbox:浏览器行为的限制,比如不能有弹出窗口等。...'unsafe-eval':允许不安全的动态代码执行,比如 JavaScript的 eval()方法 java中如何优雅的实现csp的控制呢?

8.6K52
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WebIDE:Firefox中的Web IDE「建议收藏」

    Mozilla在其浏览器的每日构建版本中增加了一个IDE,用于在Firefox OS设备和模拟器上创建、编辑、运行和调试Web应用程序,而且计划将该IDE扩展到移动设备上的所有主流浏览器。...通过USB或者WiFi,应用程序可以部署到实际的Firefox OS设备上,也可以部署到模拟器上,目前支持Firefox OS 1.3、1.4和2.0 beta测试版。...\ WebIDE集成了所有常见的Firefox调试工具,实现了应用程序实时编辑。...\ 开发人员可以使用一个简单的API,它允许外部编辑器使用该工具的所有高级功能——运行时管理、将应用程序推送到不同的设备以及连接Firefox开发工具。...\ WebIDE目前在Firefox每日构建版中提供,用户必须打开about:config中的devtools.webide.enabled选项才能启用它。

    1.7K111

    关于拖拽功能在IE11 、Firefox和Safari中不兼容的问题

    ) 3是firefox在拖动的时候会打开一个新窗口 (firbox) 4是ie11不支持onclick属性方法 ; ie11 里元素对象的attributes的排序和其他浏览器不同, ie11 中...对于原因2的解决方案 IE11, firefox 都有dataTransfer.setData的问题, Safari没有可以不用管。...firefox要求拖拽的元素必须实现dataTransfer.setData方法,也就是代码里必须写 dataTransfer.setData,如果你不需要设置什么值,但是为了兼容firefox又必须设置一个值...('click', function () {}) 如果你的业务代码里包含 获取对象attributes的值的代码,比如 event.target.attributes[n].xxx 在ie11中attributes...解决这个问题 ,我是通过遍历attributes 找到符合我要的代替之前的写死的attributes顺序 针对ie11 remove()不work的情况,可以用代码 parent.removeChild

    4.1K30

    Linux 解决 firefox 中文页面乱码问题

    1.由于 firefox 默认是允许网页自己选择字体,在 Linux 上便会出现部分网站的乱码情况。因此可以取消允许页面自己选择字体这个选项便能解决部分乱码情况。 ?...是多个字体联合组成的。 这个文件应该就是进行多字体文件绑定为这两个虚拟字体的设置文件。 你 遇到乱码,应该和这个配置无关。我想可能是你的程序里面设置了非中文字体。...这样系统会因为字体不全而调用默认字体进行解释, sans serif 两个就是常用的默认字体。结果默认字体绑定的有问题(毕竟这是西方人的东西,字体设置也偏向于西方)。导致文字显示乱码。...或者之前就设置过 sans serif 字体,这个后补的内容反而影响了字体设置。这里的配置顺序是按照文件名排序的,48 开头的会优先于这个 49 开头的配置。...另外,绑定的字体一定要是你系统里面有的字体,不然你的系统会忽略这个字体继续下一个,如果你选择的中文字体系统里面都没有,会调用失败而无法显示中文。

    9.1K30

    嘿,前端的CSP & CSP如何落地,了解一下?

    CSP(Content-Security-Policy)是一个HTTP response header, 它描述允许页面控制用户代理能够为指定的页面加载哪些资源, 可防止XSS攻击 使用方式: Content-Security-Policy...通过随意设置响应头来测试CSP MDN文档 简单过一遍常见的指令 获取资源相关的指令 font-src frame-src img-src script-src media-src style-src...因此页面改造第一步是先通过仅仅上报的头来观察一段时间,看看哪些资源哪些case是不符合CSP的,漏掉的加上,不合理的干掉 初始化资源指令,给default-src一个'self',让资源都默认走本地。...补齐资源,让页面不再报错;一些是不太优雅或者有风险的case,自己再另外衡量要不要换另一种方式引入或者去掉 另外,如果有iframe、worker、websocket这些的,也需要配置一下CSP 第二阶段...观察一段时间后,自己的上报站点如果有CSP报错,那么去解决掉,然后继续观察一段时间重复同样的步骤,直到没有CSP错误。

    3.1K30

    YApi 使用Firefox插件cross-request关于cookie的问题

    环境信息 我用的Firefox目前是最新版本的,109.0.1 (64 位)版本。 cross-request插件就是打包的Firefox插件。...cookie的值是浏览器根据host的信息自己匹配上去的,属于浏览器的行为 cookie功能验证 我测试了一下,接口服务代码就是读取和写入cookie 然后在Yapi中配置接口,接口服务是可以读取到...) 但这也没什么问题,因为在YApi的域中是读取不到的,cookie有浏览器负责处理。...但是,在浏览器里面直接访问接口生成的cookie的值,在yapi中配置的cookie接口也是读取不到这个值的。 yapi中的cookie接口只能携带在yapi中生成的cookie的值。...包扩展的permissions添加了:///*,是因为插件要做跨域处理,接口配置中的host信息每个服务都不同,所以要匹配所有host。 有什么问题,再交流

    1.7K11

    让GridView中CheckBox列支持FireFox

    在Asp.net中,可以通过模板列,在Gridview中实现CheckBox列的实现,相关的代码并不复杂,你可以参考这里,我抽取的部分代码如下: js代码中的...昨天,一朋友做测试,发现在FireFox中不支持,让我帮着找找原因,估计是js的代码有不兼容Firefox的,查有关资料,原来在firefox不支持parentElement,但支持parentNode...看来要是在web开发来要想兼容IE和Firefox,这个工作还是蛮艰巨的。有关firefox与ie 的javascript区别 的你看看这里,总结非常详细。不但是js,css也有很多不一样的地方。...嘿嘿,由此我有点怀念IE一统天下的年代了,不过我觉得一般企业级的应用还是不专门考虑FireFox了,除非做门户网站。

    1.2K80

    坑爹的firefox

    在公司,有同事向我反映,他用FF登录不了网站,我用FF看了一下,遇到这个诡异的问题: ?...336行报错,也就是document.location.href赋值这一行报错了,但我在控制台上测试的代码如下: ? 首先获取跳转页的参数没有问题,然后页面跳转了,如下图所示: ?...但是很遗憾,在代码里这样写它就无法跳转,报上面的错误…,控制台上使用就没有问题!!!...我通过google查看搜索结果,证明了二件事情: 1、这是firfox的bug; 2、不止是document.location.href这样赋值有问题,用replace也有问题 注意下图中标注绿色的区域...无论用replace方法还是直接重新赋值href,都必须是完全的地址,不然ff会报错(之前的版本我记得好像是没有这个问题的…)。 对了,附上我的ff版本信息: ?

    89020

    FireFox扩展开发遇到的一些问题

    FireFox扩展开发遇到的一些问题 2021年10月05日 341 字 大概 1 分钟 理论上来说基于 Chrome 开发的扩展可以直接上传到 Firefox,但是也会遇到一些问题。...就此总结一下 manifest.json was not found 第一次把 Chrome 的扩展上传到 Firefox 时遇到 manifest.json was not found 的报错 此问题可能是上传的压缩包...,manifest.json 不是在压缩包根目录,如下图所示,错误的压缩包中 manifest.json 在目录 dist 中 add-on ID 的缺失导致无法使用 storage.sync 这个问题折腾了我好久...解决这个问题,需要在 manifest.json 中添加 add-on ID,代码如下 "browser_specific_settings": { "gecko": { "id": "{...这是你的add-on ID}" }} 如何获取 add-on ID 先不管有没有 ID,上传到 Firefox 的 AMO(就是 Firefox 的扩展商店) 在扩展管理后台,进入该扩展的管理页面找到

    1.1K20

    记录Firefox浏览器拖拽自动重定向问题的解决

    截图后发现,在Firefox浏览器中,用户拖拽的确是产生了莫名其妙的跳转,且100%复现,大致如下图: 解决 请求失败导致?...但是排查发现,在拖拽过程中,只有前端逻辑,没有任何的接口交互,这一下子有点蒙,没有发送人和请求的情况下,浏览器竟然自动跳转了。...浏览器的锅 在没什么头绪的时候,突然想到,本地使用Chrome浏览器开发和调试,压根没有发现任何问题,只有在火狐浏览器使用,才出现这个问题,那是不是火狐浏览器本身有什么特殊的设定或插件。...根据这个思路,直接谷歌大法,关键词: firefox drag redirect 接着,果然就有遇到相同问题的小伙伴,且有人给出了解决方案: 在drop的回调中,阻止默认行为,即event.preventDefault...Firefox浏览器对drop事件做了特殊处理或劫持,需要在drophandle中,调用event.preventDefault()阻止默认行为。

    80620

    记录Firefox浏览器拖拽自动重定向问题的解决

    问题用户反馈页面的一个拖拽行为之后,页面自动跳转到了www.null.com,由于这个平台是运行了很久的稳定版本,一般不太可能出现这样严重的bug,且null.com根本不是内部合法的域名。...截图后发现,在Firefox浏览器中,用户拖拽的确是产生了莫名其妙的跳转,且100%复现,大致如下图:图片解决请求失败导致?...但是排查发现,在拖拽过程中,只有前端逻辑,没有任何的接口交互,这一下子有点蒙,没有发送人和请求的情况下,浏览器竟然自动跳转了。...浏览器的锅在没什么头绪的时候,突然想到,本地使用Chrome浏览器开发和调试,压根没有发现任何问题,只有在火狐浏览器使用,才出现这个问题,那是不是火狐浏览器本身有什么特殊的设定或插件。...根据这个思路,直接谷歌大法,关键词: firefox drag redirect图片接着,果然就有遇到相同问题的小伙伴,且有人给出了解决方案:在drop的回调中,阻止默认行为,即event.preventDefault

    73910

    Firefox内容安全策略中的“Strict-Dynamic”限制

    概述在本文中,我们将重点分析如何绕过Firefox内容安全策略中的“Strict-Dynamic”限制。...该漏洞将绕过内容安全策略(CSP)的保护机制,而在该机制中包含一个“严格动态限制”的Script-src策略。...如果目标网站中存在HTTP注入漏洞,攻击者可以将一个引用注入到require.js库的一个副本中,这个库位于Firefox开发人员工具之中,攻击者随后便可以使用已知技术,利用该库绕过CSP限制,从而执行注入脚本...为了解决这一问题,就设计了“Strict-Dynamic”的限制。...当然,这个问题不仅仅出现在浏览器内部资源。即使在通用浏览器扩展中,如果有可以用于绕过内容安全策略的Web可访问资源,也会发生同样的情况。

    2.5K52

    如何从Ubuntu Linux中删除Firefox Snap?

    步骤4:检查Firefox Snap是否已删除要确认Firefox Snap是否已成功删除,请使用以下命令检查系统中是否还有Firefox Snap的残留文件:snap list firefox如果没有任何输出结果...步骤5:安装另一个Firefox版本(可选)如果您希望在删除Firefox Snap后安装另一个版本的Firefox浏览器,可以使用以下命令在Ubuntu Linux中安装默认版本的Firefox:sudo...您已成功从Ubuntu Linux中删除了Firefox Snap。现在您可以选择安装其他版本的Firefox浏览器,或者选择使用其他的网络浏览器。...结论通过按照上述步骤,您可以轻松地从Ubuntu Linux系统中删除Firefox Snap。这样可以帮助您管理您的系统并根据个人需求选择合适的浏览器。...请注意,在卸载之前,确保您不再需要Firefox Snap,并且做好备份您的数据。祝您在Ubuntu Linux系统中取得愉快的使用体验!

    7.8K00

    应用于Firefox浏览器关于burpsuite的代理问题-详解

    在最近打ctf网安比赛的时候发现burp不能用了。...我这里出现了两种情况 第一种是火狐浏览器显示代理服务器拒绝连接,如图:  第二种是burp显示Waiting(一直等候)或者显示Ready(一直在准备),我记得之前我那个问题应该是不能连接代理服务器。...当时啊,我寻思这我之前物理机没有安装这个火狐浏览器的时候可以抓包爆破,总之什么都可以,但是最近我在物理机上安装了个火狐浏览器,然后做ctf题的时候发现burp就什么都干不了,随之我觉得难不成是物理机和虚拟机两者的火狐浏览器发生冲突了...(菜鸡饶头) 没错最后我把物理机上的火狐浏览器给卸载了,显然最后我失败了,根本行不通。...然后我去给虚拟机上的火狐浏览器进行网络设置,(火狐首选项-常规-最下面网络设置-设置)  不管怎么设置,最后也是无用之举。 最后我找到了救命稻草,火狐管理代理设置的组件FoxyProxy!

    1.3K30

    有趣的cdn bypass CSP

    最近在逛github的时候看到一个bypass csp的挑战,也是我最近才知道的一个新思路,一般人bypass csp都是通过允许域下的某个漏洞构造文件绕过,但是其实往往没人注意到cdn的问题。...v=1.0&callback=alert&context=1337%3E%3C/script%3E 这是使用了cdn中不同api的回调函数,但是这对浏览器是有要求的,在最新版chrome上测试是这样的...在firefox上也被拦截了 有点迷,我感觉应该是一定会被拦的,即便是引入了AngularJS,也是在当前页添加了js… csp中需要添加unsafe-inline才能执行成功 还有一个引入了Prototype.JS...ExternalInterface XSS,所以就有了上面的payload,奇怪的是,chrome仍然拦截了 但firefox通过了 总的来说还是挺迷的,因为这种方式在chrome里几乎完全被拦截了,...但还是提供一个比较新颖的思路,通过大家对cdn的盲目信任绕过csp限制W

    1K30
    领券