2010-02-18 5 views
5

간단한 코드 블록을 샌드 박스 방식으로 실행하는 데 스크립팅 언어를 사용할 수있는 방법에 관심이 있습니다. 호스트 언어/환경은 C#/ruby ​​/ python/java (c 제외) 일 수 있습니다. 하지만 스크립팅 언어는 똑같이 javascript/python/ruby ​​/ perl과 같은 무언가 일 수 있습니다.샌드 박스 스크립팅

전통적인 프로그래밍 구문 즉 조건부/루프/날짜 조작/배열 등을 사용하여 스크립트를 실행하는 방법은 무엇입니까? IO, 연결, HTTP 스트림, 데이터베이스 등과 같은 것들을 노출하는 것은 원하지 않습니다.

저는 파이썬 어댑터를 사용하여 spidermonkey를보고 있지만, 고려해야 할 다른 옵션이 있는지 궁금합니다.

답변

1

Code Access Security을 통해 .NET (VB, C#, 모든 언어)으로 작업 할 수 있습니다. 원하는 Framework 클래스에 액세스 할 수 없도록 컴퓨터의 정책을 설정하십시오.

Setting Security Policy을 참조하십시오.

기본적으로이 정책은 로컬 시스템에서 시작된 코드가 어떤 작업을 수행하도록 허용합니다. 기본적으로 코드가 I/O 클래스를 호출 할 수 없으며 HTTP 연결을 수행 할 수 없도록 설정할 수 있습니다.

+1

이 주석의 뒷부분에서 저는 부울을보기 시작했습니다. 나는 확장 성있는 언어와 멋진 동력을 원했습니다. 나는 CLR이 훌륭한 플랫폼이라는 것을 갑자기 깨닫고 언젠가는 C#이 공룡과 같은 자바가 될 것이지만 CLR은 꽤 오랫동안 살 것이라고 믿습니다. – Owen

2

루아는 샌드 박스 코드 작성이 매우 쉽습니다. Lua wiki에 대한 참조가 있습니다. 다른 미니 스크립트 (C 또는 C++) 코드에 쉽게 삽입 할 수있는 훌륭한 미니멀 스크립트 스크립팅 언어입니다. 따라서 호스트는 루아가 다른 코드 (또는 공장에서 설치 한 루아 인터프리터)에 내장되어있을 것입니다. 스크립트 언어는 루아입니다.

모르겠 으면 새 언어를 배울 필요가없는 다른 좋은 해결책이 있다고 확신합니다.