Tôi đang viết một ứng dụng và tôi muốn người dùng có thể nhập tệp python cho các trường hợp góc. Trong đầu của tôi cách tốt nhất tôi có thể nghĩ đến việc này là lưu tệp của họ vào đĩa và lưu vị trí vào DB sau đó nhập động bằng cách sử dụng __import__()
và sau đó thực thi nó. Phần đầu tiên của câu hỏi của tôi là: đây có phải là cách tốt nhất để làm điều này không?Đọc động trong tệp python và thực hiện nó một cách an toàn
Ngoài ra, điều này sẽ trả về một số vấn đề bảo mật khá lớn. Có cách nào để chạy mô-đun của họ theo hạn chế không? Để không để cho nó nhìn thấy hệ thống tập tin hoặc bất cứ điều gì?
Edit:
Việc thực hiện của python sẽ để lấy dữ liệu từ một dịch vụ phụ trợ nằm ngoài phạm vi "bình thường", Vì vậy, nó sẽ không là một ứng dụng đầy đủ. Nó chỉ có thể là một định nghĩa của một giao thức tùy chỉnh.
http://wiki.python.org/moin/SandboxedPython ... Tôi sẽ đặt câu trả lời đó là ... nhưng thực sự chỉ đọc bài viết này ... –