首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Node.js和React.js中,使用头盔包可以保护我的前端吗?

在Node.js和React.js中,使用头盔包可以保护我的前端吗?
EN

Stack Overflow用户
提问于 2022-04-07 18:33:39
回答 1查看 153关注 0票数 0

我有一个问题,如果我使用nodejs作为后端,我将如何保护我的前端。例如,我创建了完整的网站,将react作为前端,后端使用nodejs,并使用Axios从后端获取和发布数据到前端,等等。

我现在的问题是,如果我在后台使用安全措施,它是否也会保护我的前端?

对于exmaple,如果我在nodejs中使用helmet,我在那里为响应头添加的保护也将应用于我的主网站,即反应前端?

这是我的意思的代码。

代码语言:javascript
运行
复制
var express = require('express');
var helmet = require('helmet');
 
var app = express();
 
app.use(helmet());


app.use(
  helmet({
    frameguard: {
      action: "deny",
    },
  })
);

app.use(helmet.noSniff());
app.use(helmet.xssFilter());

我的后端nodejs服务器中的上述代码是否足以保护我的网站,还是需要在前端设置响应头和安全措施,因为我将使用后端nodejs服务器作为API与我的网站交互。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 19:04:16

博士:为了得到头盔的保护,你需要在任何为你的页面服务的页面上设置头盔的标题。如果你的网页是由你的节点后端提供的,那么你就在那里做。

头盔维修工在这里。

有一堆HTTP响应头,它们具有不同的效果。例如,Content-Type头告诉浏览器如何解释数据。如果Content-Typetext/html,浏览器将将数据解释为text/html。如果是image/png,他们会将其解释为PNG文件。

头盔设置了各种具有不同效果的HTTP响应头。

例如,头盔设置了Content-Security-Policy头,它保护用户免受各种攻击。想象一下下面的HTML:

代码语言:javascript
运行
复制
<script>alert("Hello world!")</script>

如果没有Content-Security-Policy响应头,JavaScript将运行,用户将看到警报。但是,如果Content-Security-Policy设置为类似于default-src 'self'; script-src 'none'的代码,浏览器将根本不会运行该代码。

如果后端服务器没有为HTML提供服务,那么这些响应头就不会被应用,您也得不到保护。如果后端服务器正在为HTML提供服务,那么您将!通常,您希望将这些响应头放在您可以使用的任何地方(尽管有许多例外)。

另外,顺便提一句:您在上面的代码片段中多次使用头盔。你可以把它缩短到:

代码语言:javascript
运行
复制
app.use(
  helmet({
    frameguard: {
      action: "deny",
    },
  })
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71787304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档