2009-02-19 22 views
6

[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?

+0

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

Trả lời

3

Tôi đã sử dụng Powershell như là một ngôn ngữ kịch bản trên cửa sổ bản thân mình và thấy nó rất hữu ích, và nếu bạn đã quen thuộc với .NET thì tất cả nó càng dễ dàng hơn.

Tải xuống hai số page reference document here, đây là tất cả những gì bạn cần để bắt đầu.

Nhưng có bạn có thể sử dụng .NET System.IO namespace để thực hiện các hoạt động IO qua Powershell

cùng posted # this link

Các vấn đề liên quan