Quy tắc phân quyền theo chủ sở hữu | DevPrompt Lab

Thực thi quyền ở truy vấn phía máy chủ và kiểm thử cho mọi tài nguyên riêng tư.

rule · Security · intermediate

English Tiếng Việt

Quy tắc thực tế giúp ngăn truy cập đối tượng trực tiếp không an toàn mà vẫn giữ luồng xác thực hiện có.

Nội dung có thể tái sử dụng

Với mọi bản ghi riêng tư hoặc thuộc người dùng, hãy thực thi quyền sở hữu trong truy vấn cơ sở dữ liệu hoặc domain service; không dựa vào việc ẩn nút trên giao diện. Dùng cơ chế kiểm tra credential và vai trò đã có. Tách thao tác chỉ dành cho phiên trình duyệt khỏi API key khi cần. Với thao tác admin, yêu cầu phiên admin đã xác minh và yếu tố thứ hai theo cấu hình hiện hành. Dùng hành vi not-found an toàn của ứng dụng với bản ghi ngoài phạm vi người gọi. Bổ sung kiểm thử cho quyền chủ sở hữu, từ chối truy cập chéo chủ sở hữu và người chưa đăng nhập. Không thiết kế lại xác thực nếu chưa có lỗ hổng được xác nhận.

Loại tài nguyên: {{RESOURCE_TYPE}}

Chính sách admin: {{ADMIN_POLICY}}

Cách sử dụng

Chỉ điều chỉnh chi tiết chính sách đang tồn tại; quy tắc này không thay thế tài liệu bảo mật của mã nguồn.

Ví dụ

SELECT ... FROM projects WHERE id = :id AND user_id = :current_user_id