HelloZeroNet / HelloZeroNet/ZeroNet

content.json: File permissions / Rate limiting

Đang mở
#1,071 15 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
18.8k
Fork
2.3k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Suppose:
1. User can modify their own `data.json`
2. `data.json` contains list of messages (e.g. forum posts)
3. User can add as many posts as they want since they don't have any restrictions
4. ???
5. FLOOD or MODIFYING POSTS AFTERWARDS!11

## Possible solutions:
### Storing history of file modifications with timestamp
#### Problems:
1. Need to verify timestamp somehow
2. Need to implement history/blockchain
3. 51% attack

### ~File per post + Rate limiting + File permissions:~

1. Allow to add one file per `content.json` update
2. Rate limit modification of `content.json` (check via `modified` key)
3. One file contains one post
4. User can only create files, not modify

#### Problems:
~1. Many files~
1. We can't rely on `modified` timestamp

### ~Smarter ways to check modifications of JSON data:~

1. Ability to restrict addition of one item to `data.json` list per `data.json` update via `content.json` rules
2. Ability to restrict items modification
3. Rate limit modification of `data.json` or `content.json`

#### Problems:
1. (Possible) DoS attack via big JSON files (each node should check modification of files)
2. If all nodes is offline, you can create as many posts as you want

### ~Maybe even ~JS~ CoffeeScript/Python scripts to check files modification~
#### Problems:
1. Kinda dangerous (sandbox's required)

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start by reading the issue's proposed content.json and data.json update rules, including the file-per-post and rate-limiting alternatives. Determine which abuse cases and trust assumptions can be specified, then document a decided approach and its verification criteria; the issue currently does not identify implementation files or tests.

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
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
15/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.