Как я могу ограничить возможности lua (вызов функций ОС, модулей и т. Д.) - PullRequest
2 голосов
/ 02 сентября 2010

Я использую Lua в качестве языка сценариев внутри своего приложения на Си.

Это хорошо мне подходит, но я не могу понять, как я могу ограничить Lua, чтобы он не вызывал системные функции, не включал другие модули и т. Д.

Я хочу, чтобы Lua мог вызывать только те функции, которые разрешены мной, потому что пользователь может совершать все виды плохих действий с полной мощностью модулей Lua + Lua.

Ответы [ 3 ]

5 голосов
2 голосов
/ 02 сентября 2010

Песочница - это термин, который вы ищете.В двух словах, экспортируйте в Lua только те функции, которые вы хотите, чтобы пользователи вызывали.Это действительно так просто.

0 голосов
/ 02 марта 2013

Это можно сделать, не загружая модули os или package.Вместо того, чтобы использовать luaL_openlibs, см. этот пост .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...