2009-01-02 32 views
5

Tôi đã tìm thấy rằng có một gembox sandbox (được tạo bởi những kẻ tạo ra try ruby in your browser nhưng nó chỉ tương thích với Ruby 1.8. Một vấn đề nữa là tôi không thể tìm thấy nó nữa (có vẻ như họ dừng lại) phục vụ đá quý từ các máy chủ ...).Ngôn ngữ trong một Sandbox trong Rails

vì vậy, là có an toàn cách nào chạy ruby ​​trong một sandbox (do đó bạn có thể chạy nó từ trình duyệt của bạn)? Hoặc một cách dễ dàng để chạy (đối với Ví dụ lua/python) trong một sandbox (không truy cập hệ thống tập tin, không tạo đối tượng, vv) và được gọi từ Ruby (Rails 2.2)?

Tôi muốn tạo một ứng dụng như try_ruby ngay cả khi không có có một ruby ​​bên dưới. Nhưng nó phải là một ngôn ngữ dễ dàng (tôi thấy có một prolog trong ruby, thậm chí là một lisp nhưng tôi không nghĩ rằng họ rất dễ dàng để học ngôn ngữ ...).

Vì vậy, bạn có đề xuất hoặc mẹo nào không? Hoặc tôi nên bắt đầu tạo DSL của riêng mình trong Ruby (nếu có một giải pháp trong việc tạo ra một hệ thống hơi an toàn)?

Thx

Trả lời

1

Tôi đã xem qua This article on hackety.org (liên kết chết) sáng nay. Có thể nó có thể phục vụ bạn như một hướng dẫn đi đúng hướng

0

Một cách khác là như codepad.org nó (VM cách ly và kiểm tra các cuộc gọi)

1

Anh chàng người viết ngọc ban đầu biến mất, Keyser Soze phong cách: http://www.rubyinside.com/why-the-lucky-stiff-is-missing-2278.html

tôi đã đọc rằng đá quý JRuby là hiện tại hơn hoặc duy trì, nhưng tôi đã tìm thấy nó lỗi cho đến nay. Dưới đây là một số hướng dẫn thiết lập: http://flouri.sh/2009/4/4/how-to-set-up-the-jruby-sandbox

Nhìn chung, nó trông giống như Ruby đang thiếu một thực hiện vững chắc của này ngay bây giờ :(

4

Tôi đang phát triển một thực hiện một sandbox cho ruby ​​dựa trên một biến thể của ruby thông dịch viên viết bằng C, tôi đã phát hành gần đây một phiên bản chức năng của viên ngọc được gọi là shikashi (rdoc documentation).

+0

hi i am đang cố gắng sử dụng đá quý của bạn trong dự án đường ray. Tôi đang nhận được phương pháp này không xác định lạ 'bóng' trên enumerable.this là khi truy cập các phương pháp proxy hiệp hội –

+0

Xin vui lòng, báo cáo lỗi cho trang dự án chính (https://github.com/tario/shikashi) ir để được cố định nhanh hơn . – rseminara

+0

Lỗi này không còn tồn tại nữa, do một trình tái cấu trúc mã để thay thế phương pháp xấu xí của móc, rallhook đá quý bởi shikashi, một giải pháp ổn định hơn (nhiều vấn đề khác cũng biến mất) – rseminara

0

Tôi không chắc chắn liệu bạn có muốn chạy bất kỳ ngôn ngữ nào trong sandbox hay không. ngôn ngữ sandbox trong một thời gian dài The ruby racer project cho phép bạn nhúng động cơ v8 vào r uby. Hy vọng rằng sẽ giúp.

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