问题标签 [helmet.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
51 浏览

javascript - Gatsby 网站,使用 Helmet 的首页请求中不提供脚本

我有一个 Gatsby 网站,我正在尝试向其中添加第三方 js 小部件,但由于某种奇怪的原因,它只有在我手动刷新页面时才会加载。在第一页加载时,它就好像它根本不存在,开发工具中没有错误,什么都没有......但是如果我刷新页面,它就会出现。几乎就好像它是延迟加载?有没有办法强制加载?

我检查了开发工具中的elementsconsolenetwork选项卡,但没有任何迹象表明有任何错误。elements显示了我期望的标签,console什么都没有显示,所有network内容都显示为 200。

这可能是 Gatsby 和/或 Helmet 的问题吗?可能是,但我认为这不是小部件本身的问题(它是第三方,我无法控制它,请参阅最后一段)?

在我的身体里,我有:

我试图了解问题所在的事情

  • 正如我所提到的,我必须强制刷新小部件所在的页面。如果我强制刷新任何其他页面,它没有帮助。所以我尝试过的事情是:不仅将 JS 包含在相关页面的头部,我还会将它包含在所有页面上。但这并没有什么不同。

  • 我还尝试将小部件添加到一个简单的独立 html 文件中,小部件加载没有问题。这让我认为这可能不是小部件问题?

我不知道从这里去哪里:(

0 投票
2 回答
267 浏览

reactjs - react-google-recaptcha 允许 CSP

我正在使用 react js 是我使用 react-google-captcha 的一种形式,并且在构建和后端我使用提供 CSP 安全性的头盔时工作得很好,并且出现了其他错误

在此处输入图像描述

在搜索了很多网站后,我添加了以下元标记

仍然没有运气。你遇到过这个问题吗?可以和我分享解决方案。提前致谢

在我的头盔配置中在此处输入图像描述

0 投票
0 回答
15 浏览

helmet.js - 头盔js中的内容安全策略

当我在我的代码中添加helmet.js时,一切都变空了,然后我将ContentSecurity设置为false,一些样式回来了但不是全部,然后我卸载了头盔但没有任何改变,然后我将整个代码复制到新文件中确保没有使用helmet.js,但该文件也不起作用。怎么回事,什么都看不懂。

0 投票
1 回答
25 浏览

javascript - 一个中间件的helmet.js自定义选项,同时启用其他中间件

我想为其中一个helmet.js中间件设置一些自定义选项,但我不明白这样做是否启用了其他中间件,或者我必须明确启用它们?

来自helmet.js文档:

我应该app.use(helmet())在上面的代码之前添加吗?

0 投票
0 回答
32 浏览

javascript - 浏览器下载最后一个 GET 请求而不是重新加载

我对前端和后端开发有点陌生,但我需要帮助解决一个奇怪的浏览器问题。

我已经创建了一个网站,但是每当我关闭它的选项卡然后执行“CTRL-SHFT-T”(打开最后一个选项卡)时,浏览器都会下载最后一个 GET 请求而不是加载页面。

我已经知道如何使用 history.pushState() 和 popstate 事件监听器,所以我不相信这两个是问题,但我知道它们可能是。

这是一个大问题,因为我的网站设置了一个 index.html 文件,该文件只是页眉、页眉和页脚,然后每次用户导航到另一个页面时,它都会为其填充的相应 HTML 文件发送 GET 请求它在页眉和页脚之间。(一旦 GET 请求完成,它将 html 存储在 js 对象中,因此如果用户导航回同一页面,它已经存储,因此不需要再次请求)

我对此进行了一些研究,很少有人遇到过这个问题,这似乎与“Cache-Control”标头有关。直到我使用了helmet(),我才相信我有这个问题,虽然我不确定,因为当我关闭它时它仍然会发生。我应该手动设置每个 CSP 而不使用头盔,我应该使用它并通过更改这些标题来寻求解决方案,还是我偏离轨道并深陷 XY 问题?

我网站的服务器在 express.js 上运行并托管在 heroku 上。

0 投票
3 回答
180 浏览

javascript - 如何在带有节点和头盔的 html 脚本标签中实现内容安全策略 NONCE

我很难找到我的问题的答案,毫无疑问,因为我不知道要搜索什么,但我希望这里的人可以提供帮助:)

我在托管反应应用程序的节点应用程序中使用随机数实现了头盔。

节点应用中的头盔实现:

在我的整个 react 应用程序中,我导入脚本和样式表的唯一位置是我的 index.html 页面的头部。所以我的问题是,我需要在下面的脚本和链接标签中添加什么才能正确使用带有 nonce 的 CSP?

反应应用程序 index.html

0 投票
0 回答
40 浏览

node.js - Node JS 应用程序中的安全标头问题

我面临一个关于在 Node JS 应用程序中设置安全标头的问题。在我正在处理的项目中,需要设置一些响应标头,例如content-security-policy、noSniff、xss-filter 和 hsts标头。我在头盔包的帮助下设置这些标题。我面临的问题是,当这些标题没有在所有页面上一直设置时,这些标题仅在我们第一次进入页面时设置,然后第二次回到同一页面这些标题不会出现在该页面上。

我在其中注意到的一件事是,只有静态页面具有这种行为,但通过后端数据提供的页面排除了这种行为。

我在谷歌上浏览了很多,但没有发现任何相关的东西。请尽快对此作出回应。

Express 版本:4.17.1 头盔版本:4.6.0

0 投票
0 回答
58 浏览

javascript - 拒绝加载脚本 CSP 错误!!,为什么我会犯这个错误

我正在尝试添加外部脚本,但在添加时遇到了一些奇怪的错误,不知道为什么这是我实现的后端代码,但它没有解决问题(Nodejs,使用 pug 模板)

后端 app.js 文件

前端 pug 文件

这是 chrome错误控制台的照片

这是 base.pug 文件代码不认为你会需要它,但我仍然会提供

0 投票
0 回答
137 浏览

express - 我在 ExpressJS 中遇到了带有 cors、头盔包的 CSP 问题

你好吗?

我在 ExpressJS 中有一些 CSP 问题。如果我只使用头盔,它不会发生。但是,当我使用带头盔的 cors 包时,浏览器会抛出有关字体的错误。我不明白这个问题。

nodeJS 版本 14.16.1 express 版本 4.17.1 头盔版本 4.6.0 cors 版本 2.8.5

我不明白这个问题

我阅读了有关 cors 和 csp 的文档。所以,我用头盔写了关于 csp 的代码。

它没有问题。但是,问题是当我编写有关 cors 的代码时,浏览器会抛出如上图所示的错误。

我不明白这个问题。我找不到解决方案。

我该如何解决这个问题?

========== 完整代码 =======

0 投票
0 回答
39 浏览

express - FCC - 匿名留言板

我正在使用 Replit 构建一个匿名留言板应用程序,完成 FreeCodeCamp 信息安全认证的项目 #2。

我的问题是我们的任务是“只允许我们的网站加载到我们自己页面上的 iFrame 中。

  1. 我使用以下方法安装头盔: let helmet = require('helmet');
  2. 接下来,我像这样安装 X-Frame-Options 中间件:

或者

不管怎样,让我通过任务。它们还允许我通过以下任务,即不允许 DNS 预取。但是现在该应用程序拒绝连接。