Tag: helmet.js

如何实现头盔到节点服务器?

我正在尝试第一次使用npm模块,我试图将helmet到服务器模块中来设置安全标题。 我知道helmet是为了Express但我不使用Express 。 我还可以在以下服务器模块中使用“头盔”吗? 如果是这样,我该怎么做(代码示例将不胜感激)? 如果没有,我可以使用什么“插件”到下面的模块,或者我应该以不同的方式攻击? Thx为您的帮助/input。 'use strict'; var helmet = require('helmet') , web = require('node-static') , chalk = require('chalk'); var server; module.exports = plugin; function plugin(options) { var defaults = { cache: 0 , port: 8080 , host: "localhost" , verbose: false }; var opts = options || {}; setDefaults(opts, defaults); return function(files, […]

头盔CSP不能在Safari浏览器中工作

Safari中有没有其他人对Helmet的内容安全策略有任何疑问? https://github.com/helmetjs/helmet app.use(helmet.contentSecurityPolicy({ directives: { defaultSrc: ["'self'"], scriptSrc: ["'self'",'code.jquery.com','cdnjs.cloudflare.com'], styleSrc: ["'self'","'unsafe-inline'",'fonts.googleapis.com','cdnjs.cloudflare.com'], imgSrc: ["'self'"], fontSrc: ['fonts.googleapis.com','fonts.gstatic.com','cdnjs.cloudflare.com'], connectSrc: [], }, reportOnly:false, setAllHeaders: false, disableAndroid: false })); 这在Chrome,Firefox和IE中运行良好。 但我在Safari中得到这些错误。 Safari错误

Express.js – Helmet.js和其他中间件,以及安装的应用程序?

在最近的学习项目中,我使用了三个Express.js应用程序将项目分成更易于pipe理的部分。 一个应用程序是“主”应用程序,即监听连接的应用程序。 另外两个安装在主应用程序的特定路线上。 调用app.disable('x-powered-by');是否足够app.disable('x-powered-by'); 在主应用程序禁用X-Powered-By标题,或者这也需要在每个安装的应用程序中完成? 同样,我正在考虑使用Helmet.js来为整个项目添加一些额外的安全性。 在主应用程序中包含Helmet.js中的任何中间件是否足够了,还是需要在已安装的应用程序中定义这些中间件? 我不觉得我理解某些设置和中间件如何影响已安装的Express.js应用程序,并希望有更多经验的人员进一步解释。 编辑:在使用app.disable('x-powered-by')并检查来自服务器的响应之后,如果我在主应用程序实例和所有已安装的应用程序实例中都不禁用X-Powered-By标题。 因此,我认为Helmet.js中间件以相同的方式操作,但我不是100%确定的。 任何人都可以确认这是否是预期的行为?

中间件订单快递

根据Express 安全最佳实践 ,我实施了Helmet 。 由于我正在使用多个中间件( cookie-session , morgan , body-parser和各种自制的中间件进行身份validation),我现在想知道应该把它们放在哪个顺序上。 是否有中间件的最佳实践指南 ,其安全性和秩序?

在单个路线上实施头盔CSP

我正在创build示例Express应用程序来演示Content-Security-Policy(CSP)头文件,并试图使用helmet-csp 。 所有helmet-csp的文档都显示它通过app.use(csp({ … }))作为标准的第三方中间件 – 这将CSP头添加到我的应用程序中的每条path,但是我想要自定义它在个人路线上。 示例应用程序 var express = require('express'); var http = require('http'); var csp = require('helmet-csp'); var app = express(); app.use(csp({ directives: { frameSrc: ["'none'"] } })); app.get('/', (request, response) => { response.send('hi, :wave: =]'); }); app.get('/frameable', (request, response) => { response.send('you can frame me!'); }); http.createServer(app).listen(80, (err) => { if […]