使用lusca扩展内置安全性的Sails

时间:2017-02-14 20:27:55

标签: security sails.js kraken.js

如何扩展内置安全性的Sails?例如,如何在Sails中实现lusca(来自Kraken的模块)?在Sails中扩展内置安全性的其他替代方法是什么?

2 个答案:

答案 0 :(得分:4)

您可以在lusca中添加helmethttp.js等模块并配置订单。

var lusca = require('lusca');
var helmet = require('helmet');
module.exports.http = {

  middleware: {
    order: [
      'startRequestTimer',
      'cookieParser',
      'session',
      'bodyParser',
      'handleBodyParserError',
      'compress',
      'methodOverride',
      '$custom',
      'helmetProtection',
      'xframe',
      'router',
      'www',
      'favicon',
      '404',
      '500'
    ],

    xframe: function xframe(req, res, next) {
      return lusca.xframe('SAMEORIGIN')(req, res, next);
    },

    helmetProtection: function helmetProtection(req, res, next) {
      return helmet({
        frameguard: false
      })(req, res, next);
    }
  },
  cache: 1 * 60 * 60
};

答案 1 :(得分:0)

@MjZac给出的上述答案非常有效。我只想根据sails Js的最新版本添加文件的更新版本。

var helmet = require('helmet');
module.exports.http = {
  cache: 365.25 * 24 * 60 * 60 * 1000,
  trustProxy: true,
  middleware: {
    order: [
      'cookieParser',
      'session',
      'bodyParser',
      'compress',
      'helmetProtection',
      'xss',
      'router',
      'www',
      'favicon'
    ],

    xss: require('lusca').xssProtection('1'),

    helmetProtection: function helmetProtection(req, res, next) {
      return helmet({
        frameguard: false
      })(req, res, next);
    }
  }
};