Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在浏览器端禁用WebSocket压缩和xor掩码_Javascript_Node.js_Websocket - Fatal编程技术网

Javascript 在浏览器端禁用WebSocket压缩和xor掩码

Javascript 在浏览器端禁用WebSocket压缩和xor掩码,javascript,node.js,websocket,Javascript,Node.js,Websocket,我在NodeJS项目中使用“WS”库。是否可以禁用压缩?我尝试在服务器端执行此操作 ws = new WebSocketServer({port: 8889, perMessageDeflate: false}) 但它不起作用 Accept-Encoding: gzip, deflate Sec-WebSocket-Extensions: permessage-deflate 我不知道我能做些什么来禁用xor掩码。您已经在服务器中禁用了每条消息deflate,但是您看到客户端正在宣布其处理该

我在NodeJS项目中使用“WS”库。是否可以禁用压缩?我尝试在服务器端执行此操作

ws = new WebSocketServer({port: 8889, perMessageDeflate: false})
但它不起作用

Accept-Encoding: gzip, deflate
Sec-WebSocket-Extensions: permessage-deflate

我不知道我能做些什么来禁用xor掩码。

您已经在服务器中禁用了每条消息deflate,但是您看到客户端正在宣布其处理该消息的能力,这是正常的。我的意思是,您粘贴的HTTP头来自客户端请求(因为服务器不发送
Accept-*
头)

要知道压缩是否最终被选为连接的扩展,请检查服务器响应中的
Sec WebSocket Extensions
标题


XOR屏蔽不能被禁用,需要从客户端到浏览器使用XOR屏蔽来减轻一些可能的攻击,代理做一些有趣的事情:

不要忘记添加压缩:无标题-否则,浏览器需要Sec WebSocket Extensions和permessage deflate。

如果不想使用压缩扩展,您应该从客户端禁用它!在我的例子中,客户端是一个浏览器。我不知道如何在浏览器端禁用它。你说得对。服务器不返回
Sec WebSocket Extensions
头,并且没有压缩。我的错误。奇怪的是你不能禁用异或屏蔽。我正在使用https,我认为它应该在没有xor的情况下解决这个问题。实际上websocket框架有一点表示屏蔽,所以技术上是可行的,使用https就足够安全了,但是。。。要求:)