使用sails.js修改响应标头以实现HSTS

穆罕默德·赖汉·穆海敏

我正在使用sails.js实现一个nodejs应用程序我希望我的用户仅通过https进行交流。因此,为此,我需要按照自己的方式配置服务器,以便在每个响应中都添加标头“ Strict-Transport-Security”,“ max-age = 31536000”,以告知浏览器仅与HSTS通信。现在如何修改我将从Sails js发送的每个响应标头,我搜索了文档但没有找到任何帮助。

乍得

策略仅应用于您在中显式分配给它们的控制器config/policies.js

而不是使用策略,请尝试直接在中添加快速中间件config/express.js(如果尚不存在,请创建文件)。该中间件适用于所有控制器。格式如下:

// config/express.js
"use strict";
exports.express = {
    customMiddleware: function (app) {
        app.use(function hsts(req, res, next) {
            res.setHeader("Strict-Transport-Security", "max-age=31536000");
            next();
        });
    }
}

如果您要使用多个快速自定义中间件,我的建议是将每个中间件功能保留在其自己的文件中。我将提供一个示例,将您的中间件与接受某些选项的其他中间件一起使用。

// config/express.js
"use strict";
var hsts = require('../lib/middleware/hsts');
var staticguard = require('../lib/middleware/staticguard');
exports.express = {
    customMiddleware: function (app) {
        // ordering of middleware matters!
        app.use(hsts);
        app.use(staticguard(/^\/protected\/.*$/));
    }
}

// lib/middleware/hsts.js
"use strict";
module.exports = function hsts(req, res, next) {
    res.setHeader("Strict-Transport-Security", "max-age=31536000");
    next();
}

// lib/middleware/staticguard.js
"use strict";
module.exports = function (regex) {
    return function (req, res, next) {
        if (!regex.test(req.url)) {
            return next();
        }
        res.end('you are not allowed!');
    }
};

如果您尝试让多个文件在“ express.customMiddleware”命名空间上导出一个功能,那么我相信只有最后加载的文件的middleWare才能起作用。我还没有尝试过。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Jest与Sails.js解析错误

来自分类Dev

Sails.js不能永远使用

来自分类Dev

使用sails.js进行密码确认

来自分类Dev

将触控笔与Sails JS 0.10结合使用

来自分类Dev

使用Sails.JS和JsHint

来自分类Dev

Sails.js使用路由过滤记录

来自分类Dev

如何使用Sails JS更新模型

来自分类Dev

使用sails.js实现护照-http-bearer令牌

来自分类Dev

Sails.js发送后无法设置标头

来自分类Dev

Sails.js-如何更改Sails使用的node.js模块?

来自分类常见问题

使用Fetch API读取响应标头

来自分类Dev

如何使用Dropzone JS获取Amazon S3响应标头?

来自分类Dev

如何使用apache修改传入的响应头?

来自分类Dev

password.js使用sails.js验证弹出窗口

来自分类Dev

在sails.js中使用显示API的PDF.js

来自分类Dev

使用 async.js 深度填充sails.js

来自分类Dev

Sails JS的CSV响应

来自分类Dev

SailsJS-在JWT中使用sails.io.js

来自分类Dev

使用Sails.js路由到子域

来自分类Dev

如何在sails.js中使用node-inspector?

来自分类Dev

如何在sails.js中使用.less文件?

来自分类Dev

如何使用MEAN和sails.js启动新项目

来自分类Dev

使用sails.io.js从前端发出的API请求

来自分类Dev

如何使用sails.js定义模型的实例方法

来自分类Dev

使用MongoDB时Sails.js不应用模型方案

来自分类Dev

使用Sails.js进行个性化聊天

来自分类Dev

在Sails.js中使用客户端模板

来自分类Dev

如何使用.crt文件在sails.js中配置https

来自分类Dev

使用Sails.JS和AngularJS处理会话/ cookie