Tôi đang sử dụng mô-đun ws
và tôi muốn giới hạn lượng dữ liệu được khách hàng gửi qua websocket đến 1Mb. Điều này sẽ ngăn người dùng độc hại gửi lượng dữ liệu khổng lồ (theo GB) khiến máy chủ hết bộ nhớ, điều này sẽ gây ra lỗi dịch vụ từ chối cho mọi người dùng thông thường.
Ví dụ, ví dụ Express cho phép để xác định kích thước tối đa của một bài yêu cầu cơ thể như vậy:
cách giới hạn lượng dữ liệu được khách hàng gửi thông qua websocket?
bodyParser.json({limit:'1Mb'})
Làm thế nào tôi làm điều gì đó tương tự với các module ws
?
Tôi đã thử
var ws = require('ws').Server
var wsserver = new ws({port:8080, limit:'1Mb'})
Nhưng điều này tất nhiên không hiệu quả.
Tôi muốn truyền dữ liệu bị gián đoạn (sau khi vượt quá 1Mb) và kết nối websocket sẽ bị đóng. Làm thế nào tôi có thể làm điều đó?
Phải có cách giới hạn khung dữ liệu đến từ khách hàng ...
đoán chưa ai biết ... https://github.com/websockets/ws/issues/513 ... https://github.com/websockets/ws/issues?utf8=%E2%9C% 93 & q = giới hạn – rafaelcastrocouto
Bạn đang sử dụng thư viện 'ws' nào? Nếu không có câu trả lời trong tài liệu cho thư viện webSocket bạn đang sử dụng, thì câu trả lời chỉ có thể được xác định bằng cách nghiên cứu mã cho thư viện để xem liệu nó có bất kỳ loại khả năng giới hạn hay không. để thêm giới hạn như vậy. Nghe có vẻ giống như một điều hợp lý để muốn. – jfriend00
@ jfriend00 https://www.npmjs.com/package/ws tại đây. Rõ ràng trong tài liệu không có tài sản của các đối số tùy chọn mà sẽ làm như vậy. Có thể có một phương pháp của cá thể wsServer có thể đặt giới hạn. Tôi sẽ kiểm tra nó. –