Tôi muốn cung cấp kịch bản người dùng cuối (có thể chạy phía máy chủ) trong một ứng dụng. Tôi đã đọc xung quanh, và thấy rằng sandboxing là một vấn đề nhiều hơn tôi nghĩ.Kịch bản người dùng cuối
Tôi không thực sự quan tâm nội dung là ngôn ngữ. LUA, Python, JavaScript, tôi ổn với mọi thứ có thể đọc được.
Làm cách nào để chạy hàm trong tập lệnh không đáng tin cậy, chuyển một số thông tin và nhận thêm một số thông tin khác? Tôi đã đọc JVM Security Manager là một không-đi và Python là gần như không thể đóng hộp, nhưng tôi có rất ít kiến thức về chủ đề và không thể thực sự đánh giá các nguồn.
Làm cách nào để tôi có thể giải thích một hàm trong JS có JSON (từ, nói, Java hoặc Python, hoặc thậm chí node.js) và lấy lại JSON được trả về?
Tôi muốn tránh việc thực hiện một trình thông dịch ngôn ngữ i-just-know-it-will-suck cho bản thân mình.
JavaScript có vẻ là tùy chọn an toàn nhất ở đây. Nó được thiết kế cơ bản cho mục đích chính xác này. –
Đối với hộp cát Python, có [một số lời khuyên] (http://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20run%20an%20untrusted%20Python%20script%20safely%20 % 28i.e.% 20Sandbox% 29) ngoài kia. –
@Lattyware: Tư vấn cho việc bảo mật CPython về cơ bản là vô ích, IMHO. Họ khuyên bạn nên chroot (đó là không an toàn) và ảo hóa (mà là tốn kém). –