Hộp cát của công cụ ứng dụng google hoạt động như thế nào? Tôi sẽ phải làm gì để tạo ra hộp cát riêng của mình (để cho phép khách hàng của tôi chạy các ứng dụng của họ trên máy của tôi một cách an toàn mà không cho họ khả năng định dạng ổ đĩa của tôi)? Có phải nó chỉ là phép thuật của lớp loader, thao tác byte hay gì đó không?Làm thế nào để google app engine sandbox hoạt động?
Trả lời
Trong trường hợp Java, tôi nghĩ rằng nó chủ yếu được thực hiện bằng cách hạn chế các thư viện có sẵn. Vì Java không có khái niệm con trỏ, và bạn không thể tải lên mã được biên dịch nguyên bản (chỉ có bytecode JVM), bạn không thể thoát khỏi sandbox. Thêm một số lịch trình xử lý chặt chẽ và bạn đã hoàn tất!
Tôi đoán Phần khó nhất là chọn các thư viện, để làm cho nó hữu ích trong khi vẫn an toàn.
Trong trường hợp Python, họ phải sửa đổi bản thân máy ảo, vì nó không được thiết kế với sự an toàn. May mắn thay, họ có Guido mình để làm điều đó.
Có thể bạn sẽ cần kết hợp bộ nạp lớp hạn chế và hiểu rõ về Java Security Architecture. Bạn có thể chạy JVM của bạn với một SecurityManager rất nghiêm ngặt được chỉ định.
Lưu ý quan trọng - SecurityManager KHÔNG cho phép bạn hạn chế sử dụng bộ nhớ heap hoặc sử dụng CPU. Bạn không có lựa chọn nào khác ngoài việc sinh ra các quy trình riêng biệt cho mỗi tác vụ/tập lệnh như vậy. – Zorkus
một cách an toàn cho phép khách hàng của tôi để chạy các ứng dụng của họ trên công cụ của tôi mà không cho họ khả năng để định dạng ổ đĩa của tôi
Điều này có thể dễ dàng đạt được bằng cách sử dụng quản lý Java Security. Tham khảo câu trả lời this để biết ví dụ.
Nó có thể đạt được, nhưng không dễ dàng, ngay cả với 'SecurityManager' một nhiệm vụ khá của nó. – Gautam
- 1. Google-app-engine NDB
- 2. Dịch vụ người dùng của Google App Engine hoạt động như thế nào?
- 3. web.py trên Google App Engine
- 4. Google App Engine nhanh đến mức nào?
- 5. Bản ghi Google App Engine hoạt động chính xác như thế nào?
- 6. Google App Engine: get_or_create()?
- 7. Làm bất kỳ ORM Python nào (SQLAlchemy?) Có hoạt động với Google App Engine không?
- 8. Làm thế nào để Singletons trong Google App Engine (hoặc thường trong môi trường máy chủ phân tán) hoạt động?
- 9. Google App Engine trên Silverlight
- 10. appengine_config.py trong Google App Engine
- 11. Google App Engine hết giờ?
- 12. Google App Engine hoặc Django?
- 13. Google App Engine biên dịch trước Java như thế nào?
- 14. Google App Engine | Python | APP.YAML
- 15. Django 1.1 trên Google App Engine
- 16. Khung công tác phát triển web nào hoạt động tốt nhất với Google App Engine?
- 17. Khung web nào hoạt động tốt khi sử dụng Scala trên Google App Engine?
- 18. Chạy Boto trên Google App Engine (GAE)
- 19. Phát! 2.0 và Google App Engine
- 20. NhậpError trên Google App Engine với lxml
- 21. Triển khai thẻ trên Google App Engine
- 22. mlpy, numpy, scipy trên Google App Engine
- 23. ThreadLocal trên Google App Engine (GAE)
- 24. Google App Engine - Caching HTML được tạo
- 25. Xén web bằng Google App Engine
- 26. yaml trong Google App Engine với index.html
- 27. Người gửi sao chép Google App Engine
- 28. Hỗ trợ Google App Engine và Django
- 29. Google App Engine - Cookie an toàn
- 30. iPhone đăng nhập vào Google App Engine
tôi đã xóa thẻ khí vì tôi không nghĩ nó là viết tắt của hộp cát ứng dụng của google và tôi không nghĩ rằng trình kết hợp gnu có liên quan đến câu hỏi này. –
Xin lỗi, tôi có thể đã nhầm lẫn điều gì đó, tôi đã tạo câu hỏi này thông qua một thiết bị di động không cần bàn phím. – Shahbaz