繁体   English   中英

将标头添加到SockJS连接?

[英]Add headers to SockJS connection?

我一直在使用ZAP(自动安全扫描工具)对我的Meteor应用程序运行安全检查。 我已经能够解决很多安全问题,但我仍然会收到部分应用程序的警告。 例如,以下错误:

Web浏览器XSS Protection未启用,或通过Web服务器上的“X-XSS-Protection”HTTP响应标头的配置禁用

这些警告与HTTP标头有关。

以下代码解决了所有常规页面上面的标题安全问题:

WebApp.rawConnectHandlers.use(function(req, res, next) {
  res.setHeader('X-XSS-Protection', '1; mode=block');
  next();
});

但是在所有/ sockjs / info?cb = XXX调用(例如/ sockjs / info?cb = 4yiv7ncev4)中,不包括一些使用res.setHeader()添加的头文件。 如果我理解正确,这是服务器和客户端之间的调用,如订阅或调用Meteor方法,并且使用的框架是SockJS。

有没有办法在这些websocket连接中包含额外的标头?

非常感谢你的帮助!

尝试这个:

const oldHttpServerListeners = WebApp.httpServer.listeners('request').slice(0);
WebApp.httpServer.removeAllListeners('request');

const newListener = function(request, response) {
  const args = arguments;

  response.setHeader('X-XSS-Protection', '1; mode=block');

  _.each(oldHttpServerListeners, function(oldListener) {
    oldListener.apply(WebApp.httpServer, args);
  });

};

WebApp.httpServer.addListener('request', newListener);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM