Piszę aplikację i chcę, aby użytkownicy mogli wprowadzać pliki Pythona dla przypadków narożnych. W mojej głowie najlepszym sposobem na zrobienie tego jest zapisanie ich pliku na dysku i zapisanie lokalizacji w DB, a następnie dynamiczne zaimportowanie go za pomocą __import__()
, a następnie wykonanie go. Pierwsza część mojego pytania brzmi: czy to najlepszy sposób na zrobienie tego?Dynamiczne odczytywanie w pliku Pythona i wykonywanie go bezpiecznie
Podnosi to również poważne obawy związane z bezpieczeństwem. Czy istnieje sposób, aby uruchomić swój moduł pod ograniczeniem? Aby nie pozwolić mu zobaczyć systemu plików czy czegokolwiek?
Edit:
Realizacja pytona byłoby pobierać dane z usług zaplecza, która jest poza zakresem „normalne”, więc nie byłoby pełne zastosowanie. Może to być definicja niestandardowego protokołu.
http://wiki.python.org/moin/SandboxedPython ... Postawiłem to jako odpowiedź ... ale naprawdę po prostu przeczytaj ten artykuł ... –