Tôi đang sử dụng javax.scripting
để thêm hỗ trợ chạy JavaScripts tùy ý do người dùng tải lên ở phía máy chủ. Rõ ràng là tôi muốn bảo mật những tập lệnh đó!Làm cách nào để bảo mật các tập lệnh chạy bằng javax.scripting?
Tê giác, riêng của nó, có khuôn khổ để bảo mật tập lệnh khi chạy. Tuy nhiên, tài liệu cho javax.scripting
không đề cập đến bảo mật, quyền hoặc hạn chế các lớp có sẵn cho tập lệnh. Vậy đây có phải là một lỗ hổng lớn trong API javax.scripting
mà nó không cung cấp một khuôn khổ để bảo đảm các tập lệnh mà nó thực thi không?
Tôi không muốn sử dụng Rhino trực tiếp vì ban đầu tôi đã thử điều đó nhưng có một số vấn đề khi hiển thị các phiên bản Java cho tập lệnh đang chạy. Khung làm việc javax.scripting
làm cho nó (sử dụng Rhino dưới mui xe) đã tạo ra các tập lệnh chạy tầm thường và đơn giản này trong một máy chủ đa luồng.
Tôi muốn danh sách trắng các lớp Java có thể được truy cập/khởi tạo trong tập lệnh đang chạy. Bất cứ ai có thể chỉ cho tôi một ví dụ hoặc tài liệu về cách để đạt được điều này?