Предотвращение импорта в Python - PullRequest
8 голосов
/ 08 декабря 2011

У меня есть Python, встроенный в приложение в качестве платформы сценариев, чтобы пользователи могли писать сценарии Python.Я пытаюсь предотвратить импорт, чтобы он не мог повредить в любом случае, и мне приходится придерживаться предоставленного API.

Я пришел со следующим кодом Python:

__builtins__ .__import__= None 
reload = None

предотвращает импорт и предотвращает перезагрузку модулей.Предотвращение перезагрузки требуется, чтобы они не могли перезагрузить встроенные функции, возвращая им рабочий импорт.

Однако я не эксперт по Python.Что-то еще мне не хватает, что пользователь все еще может сделать для импорта модулей?

Спасибо

1 Ответ

2 голосов
/ 08 декабря 2011

Что вам, вероятно, нужно - это запустить Python в песочнице.Есть несколько способов сделать это, например, PyPy имеет поддержку песочницы .

Вы также можете попробовать песочницу самого процесса Python, используя внешние инструменты, но я полагаю, что это зависит отоперационная система.

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