2012-03-19 28 views
6

Tôi mới sử dụng V8 và có kế hoạch sử dụng nó trong ứng dụng web python. Mục đích là để cho phép người dùng gửi và thực thi một số tập lệnh JS nhất định. Rõ ràng đây là một mối đe dọa an ninh vì vậy tôi đang tìm kiếm các nguồn tài liệu mà các tài liệu một cách có thể 'khóa xuống' v8. Ví dụ, tôi có thể tạo một danh sách trắng các chức năng được phép gọi không? Hoặc danh sách đen các thư viện không được phép tham chiếu?Làm cách nào để "Khóa xuống" V8?

+0

BTW tại sao không cho phép họ gửi tập lệnh Python? Điều này sẽ đơn giản hóa kiến ​​trúc của bạn một chút tôi nghĩ. :-) (Đã đề cập đến nó). Và có, có thể tạo một hộp cát Python an toàn cho các tập lệnh đó – Kos

+0

@Kos như thế nào? Tôi cũng quan tâm, nhưng tôi tiếp tục đọc ở khắp mọi nơi mà Python gần như không thể đóng hộp, với hàng nghìn ví dụ về cách phá vỡ – slezica

Trả lời

0

Chỉ đơn giản là khóa xuống trường hợp V8 (ví dụ: cho nó không có quyền trong chroot) và giết chết quá trình nếu nó không trở lại sau một khoảng thời gian nhất định không hoạt động?

1

Nếu bạn sử dụng một động cơ V8 đơn giản (nghĩa là không giống như node.js) sẽ không có bất kỳ chức năng nguy hiểm nào. Bản thân JavaScript không có chức năng hệ thống tập tin chứa chuẩn, vv ..

Điều duy nhất người dùng độc hại có thể làm là tạo vòng lặp vô hạn, thu thập sâu và bộ nhớ.

+0

Xin lỗi vì nhận xét muộn, nhưng tôi cũng quan tâm đến điều này. Làm cách nào để ngăn người dùng vượt quá hạn mức bộ nhớ/xử lý? – slezica

+0

Không có ý tưởng. Vui lòng [đăng câu hỏi mới] (http://stackoverflow.com/questions/ask) cho việc này. – ThiefMaster

+0

Tôi vừa đăng câu hỏi mới về vấn đề này: http://stackoverflow.com/questions/11637075/how-do-i-prevent-malicious-javascript-in-v8-with-python – Gattster

Các vấn đề liên quan