2017-01-04 6 views
1

私はMeteorアプリケーションでZAP(自動セキュリティスキャンツール)を使用してセキュリティチェックを実行していました。 私は多くのセキュリティ問題を解決できましたが、まだ一部のアプリケーションで警告が表示されています。たとえば、次のエラー:SockJS接続にヘッダーを追加しますか?

Web Browser XSS Protection is not enabled, or is disabled by the configuration of the 'X-XSS-Protection' HTTP response header on the web server

これらの警告は、HTTPヘッダーと関係があります。

次のコードは、すべての通常のページに上記のヘッダーセキュリティ上の問題解決:

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

しかし、すべて/ sockjs /情報CB = XXXコール(例えば/ sockjs /情報CB = 4yiv7ncev4。?)一部の上に? res.setHeader()を使用して追加されたヘッダーは含まれません。私が正しく理解しているのは、Meteorメソッドへのサブスクリプションや呼び出しのようなサーバーとクライアント間の呼び出しであり、使用されるフレームワークはSockJSです。

これらのWebソケット接続に余分なヘッダーを含める方法はありますか?

ありがとうございました!

答えて

0

はこれを試してみてください:

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); 
+0

はあなたの応答をありがとうございました!それは私の一日を救った! 私が設定したいすべてのヘッダーで機能しましたが、設定した値に関係なく常に*値を持つ "Access-Control-Allow-Origin"ヘッダーが必要です。 最後のハードルを解決するにはどうすればよいですか? PS:遅れてお詫び申し上げます。私は数日前にあなたのメッセージを見ました。 –

+0

私はヘッダが[sockjs](https://github.com/sockjs/sockjs-node/blob/959d567c6d10dab9de5c82d1a031c30a28d82c66/src/trans-eventsource.coffee#L29)によって設定されていると思います。私はそれを無効にする方法を知らない。 – Khang

関連する問題