[英]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.