gpt4 book ai didi

node.js - 如何从 Node.js/Express 中的请求中检索实体主体(用于 CSP 违规报告)?

转载 作者:搜寻专家 更新时间:2023-10-31 23:14:29 25 4
gpt4 key购买 nike

我有兴趣为我的 Node.js 应用程序实现内容安全策略 (CSP)。 Mozilla 的文档很有帮助,但我对如何启用 violation reports 很困惑。 .我了解它们如何工作的基本前提(浏览器向指定的 URL 发送 POST 请求以通知网站违规)但无法弄清楚在哪里可以找到描述 HTTP 请求中违规的 JSON 文档。对于更熟悉 HTTP 规范的人来说,这可能是显而易见的。

查看 W3C draft对于 CSP,我确定 JSON 包含在称为“实体主体”的 HTTP 部分中。我仍然不知道该实体的目的是什么(我能找到的关于此事的唯一有用的页面是来自 HTTP 规范的页面)。我假设它是请求的正文。

也许更重要的是,我找不到任何方法来检索实体主体的内容。我想过使用 req.header('entity-body') 但这不起作用,因为实体不是 HTTP header 。它是什么以及如何获取它?

(此外,我尝试查找有关如何在 Node.js 中实现 CSP 违规报告的教程,但一无所获。我确实找到了一个用于 PHP 的教程,但它并不是特别有用,引用了 file_get_contents('php://input') 我在 Node.js/Express 中没有类似的东西。)

如有任何帮助,我们将不胜感激。

最佳答案

原来我分析过度了。您需要做的就是为 express 启用 express.bodyParser() 中间件,然后在 POST 事件处理程序中获取 req.body。这将检索包含 JSON 违规报告的 HTTP 请求的正文。

启用中间件:

var server = express.createServer(
// other middleware here
express.bodyParser()
);

检索违规报告:

server.post('/csp/', function(req, res) {
console.log(req.body);
});

关于node.js - 如何从 Node.js/Express 中的请求中检索实体主体(用于 CSP 违规报告)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com