Quota, DOS protection, or verification for the game relay server
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Haskell
- Star
- 1.3k
- Fork
- 201
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
It strikes me as a little dangerous to be running an open websocket relay server with no verification of its intended uses. Scenarios to think about:
1. Kid writes a cool game, shares on YouTube or something, it "goes viral", suddenly we have millions of connections.
2. Someone finds the protocol documentation, and decides to use it for their own unrelated shady commercial service, and suddenly we're handling millions of connections that aren't even about CodeWorld at all.
3. Someone thinks it's funny to take the system down, creates a session with 2000 players (because the work grows quadratically with the number of clients), and floods it with traffic from malware-infested systems.
It would be good to think about some of these issues. They are not pressing yet, but I'd rather they don't become pressing in the middle of the night!
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Rà soát máy chủ relay websocket mở và tài liệu giao thức của nó, tập trung vào các rủi ro đã nêu liên quan đến việc sử dụng chưa được xác minh, số lượng kết nối, các phiên lớn và lượng công việc bậc hai ở phía client. Xác định một phương án bảo vệ cụ thể và các giới hạn có thể đo lường trước khi triển khai. Hoàn thành có nghĩa là relay có các biện pháp bảo vệ đã thống nhất trước tải bất ngờ hoặc lạm dụng, đồng thời hành vi xác minh hoặc hạn ngạch được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- backend, security
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100