![]() |
1
9
请参阅的Lua用户Wiki上的讨论
sandboxing
,以及
script security
. 这类事情有很多微妙而不那么微妙的问题。这是可以做到的,但是要防止
一般技术是为沙盒创建一个函数环境,其中包含一个允许函数的白名单。在某些情况下,该列表甚至可能为空,但允许用户访问
然后使用
另一个注意事项是,load函数通常会加载预编译的字节码或Lua文本。如果不允许预编译字节码,结果会安全得多,因为已经确定了许多使VM行为异常的方法,这些方法都依赖于手工生成无效的字节码。由于字节码文件以一个定义良好的字节序列开始,而该字节序列不是纯ASCII文本,因此您所需要做的就是将脚本读入字符串缓冲区,测试是否缺少标记,并只将其传递给
会议上进行了相当多的讨论 Lua-L mailing list 多年来这种事情,所以在那里搜索也可能是有帮助的。 |
![]() |
2
5
顺便说一句,这就是我最后要做的:
“支持”功能:
|
![]() |
3
2
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |