在线c#详解安全问题我在想构建一个在线C#解释器的想法,有点像Codepad。现在对于明显的安全问题:我对C#的了解并不那么微不足道,但我确信有很多关于它的知识,以及我没有想到的东西。你会注意什么?精确一些,我计划在使用Mono的小型LinuxVPS上运行它。使用Mono的编译器作为服务功能。它可以编译为Silverlight兼容的DLL(客户端配置文件),并且已经可供签出。这应该可以解决您对IO的一些担忧。想到反射是因为你可以从GetType()到Assembly到任何你想要的。用户代码实际上可以做任何事情。处理特殊情况很难。在我看来,最好的方法是:a)创建一个仅具有执行权限的沙盒应用程序域。这确保了很多事情,比如不能弄乱文件系统或调用本地库。b)创建新进程并在其中启动您的应用程序域。然后密切监视进程的内存和CPU消耗。如果出现任何问题-杀死它。请注意,这是您可以终止的进程,而不是appdomain。使用appdomain,你可以尝试卸载它,但如果恶意代码在finally子句中运行,那将不起作用。有一些(我知道的)问题:总而言之,无论如何都有风险。我也在考虑这个想法,到目前为止的结果是:rundotnet查看此链接,您将能够了解在线C#解释器,尝试一些东西并阅读输出异常以了解它们是如何实现的。http://rextester.com/NWDF62346以上是C#学习教程:在线c#讲解安全问题分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请右击联系管理员删除。如需转载请注明出处:
