[Câu hỏi này cũng tương tự như this one, nhưng tôi cũng quan tâm đến khả năng của một sandbox.]Scripting Ngôn ngữ trong một Sandbox cho một C# /. NET Application
Tôi đang xem xét việc nhúng một ngôn ngữ kịch bản trong C# /.NET và sau đó hiển thị một số API ứng dụng của tôi cho các tập lệnh. Dường như có nhiều lựa chọn tốt cho điều này (Lua, Boo, IronPython, vv), nhưng có những tùy chọn dễ dàng nào để hạn chế các hàm dựng sẵn của ngôn ngữ kịch bản không được sử dụng? Ví dụ: tôi không muốn các tập lệnh có thể thực hiện I/O ngoại trừ thông qua API mà tôi hiển thị rõ ràng, do đó không in tới bảng điều khiển, mở tệp, v.v. Bất kỳ ngôn ngữ kịch bản nào cũng cung cấp cách dễ dàng điều này?
Không chắc có bao nhiêu bảo vệ bạn cần, nhưng đừng quên rằng sandboxing cũng có thể cần để trang trải cuộc tấn công DOS - vòng lặp vô hạn, vv – stusmith