Trên hệ thống dựa trên REST, các tùy chọn để "mã hóa" tài nguyên ID là gì.REST Security Thiết kế thực hành tốt khi trưng ra nguồn lực ID
Ví dụ:
/client/2
sẽ có thể truy cập tại
/client/SOMEHASHKEY
Tôi đang nghĩ đến:
1 - Có bảng DB mà theo dõi một ID tài nguyên và nó HASH tương ứng và xem xét mọi yêu cầu. Điều này rõ ràng có vẻ khá nặng để thực hiện, và tăng công việc máy chủ khá một chút.
2 - Có một số loại thuật toán mã hóa nội bộ mà sẽ tạo ra một hash ví dụ dựa trên ngày tạo nguồn lực, ID nguồn lực và base64 nó (Rõ ràng là không tối ưu nhưng bạn sẽ có được điểm)
Vì vậy, đang có thực hành tốt cho loại kịch bản này? Bạn muốn giới thiệu gì?
Nhiều Cảm ơn
hum vì vậy nếu tôi có câu trả lời của bạn và cố gắng áp dụng nó cho câu hỏi của tôi bạn có nghĩa là sử dụng bảng để theo dõi corespondance giữa Hash, GUID hoặc bất cứ điều gì và các nguồn lực thực tế? – silkAdmin
Nó phụ thuộc vào cách ứng dụng của bạn lưu trữ tài nguyên. Tôi không có ý tưởng làm thế nào nguồn tài nguyên trông giống như bên trong của ứng dụng. Nhưng có, nếu bạn phải dính vào số nguyên ids nội bộ, sau đó thêm một tài sản guid để mô hình khách hàng của bạn. Nếu lưu trữ của bạn là một bảng SQL DB, sau đó lưu trữ các guid trong một trường bổ sung của bảng khách hàng. – stmllr
để đưa chúng ta trở lại câu hỏi "thực hành tốt", tôi đoán điểm của bạn là tôi nên lập chỉ mục một UUID trên chính bảng tài nguyên? – silkAdmin