[This question is similar to this one, but I am also interested in the possibility of a sandbox.]
I am considering embedding a scripting language in my C#/.NET application and then exposing some of my application's API to the scripts. There seem to be multiple good options for this (Lua, Boo, IronPython, etc.), but are there easy options for restricting the scripting language's built-in functions from being used? For example, I do not want the scripts to be able to perform I/O except through the API that I explicitly expose, so no printing to the console, opening files, etc. Do any of these scripting languages provide an easy way to do this?
You can load te script into a different AppDomain and control the permissions of the second AppDomain.
This link should get you started:
http://blogs.msdn.com/shawnfa/archive/2005/08/08/449050.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With