最近刚刚接触Lua,语言不愧是短小精湛,功能也很强大。
网上有关C#和Lua的文章大多数是Lua5.1版本,5.2版本的Lua做了一些比较大的改动,其中就有沙箱技术的改动(_ENV)
提一句,SharpLua现在的版本仍旧是Lua5.1.5。NLua同样支持.Net技术,当前支持的版本是Lua5.2.3
NLua GitHub→点击打开链接
调用NLua工程需要包含三个dll——KeraLua.dll NLua.dll lua52.dll ,然后 using Lua; 就可以使用。
以下是C#的代码,具体看注释:
using NLua;
namespace Lua_SandBox实验
{
class Program
{
static void Main(string[] args)
{
&

这篇博客介绍了如何在C#中利用NLua库结合Lua5.2.3实现沙箱环境,以确保不安全的Lua代码只能访问特定的功能,如print和writeStr。通过loadfile函数加载并限制执行环境,避免了对不受信任代码的直接暴露。在遇到异常时,pcall函数会停止执行并返回错误信息。
最低0.47元/天 解锁文章
230

被折叠的 条评论
为什么被折叠?



