사용자가 다른 언어로 코드를 제출할 수있는 시스템 (예 : one)이 있으며 시스템에서 해당 언어로 테스트 사례를 컴파일하고 실행합니다. 개발자로서, 나는 그들이 어떻게 이것을하는지, 어떻게 다국어 (PHP, Python, C, .NET, javascript)를 지원하는지 궁금하다.코드를 동적으로 컴파일하고 실행하는 방법은 무엇입니까?
제출 된 코드가 악의적이어서 코드를 실행하는 환경이 위험해질 수 있습니까?
감사합니다.
사용자가 다른 언어로 코드를 제출할 수있는 시스템 (예 : one)이 있으며 시스템에서 해당 언어로 테스트 사례를 컴파일하고 실행합니다. 개발자로서, 나는 그들이 어떻게 이것을하는지, 어떻게 다국어 (PHP, Python, C, .NET, javascript)를 지원하는지 궁금하다.코드를 동적으로 컴파일하고 실행하는 방법은 무엇입니까?
제출 된 코드가 악의적이어서 코드를 실행하는 환경이 위험해질 수 있습니까?
감사합니다.
궁금한 점이있어 그들이 어떻게하는지, 어떻게 여러 언어 (PHP, Python, C, .NET, javascript)를 지원하는지 알고 싶습니다.
단순 : 여러 언어 설치가 설치되어 있고 주어진 입력에 대해 올바른 언어를 호출하십시오 (당연히 사용자가 제공함).
제출 된 코드가 악의적이어서 코드를 실행하는 환경이 위험해질 수 있습니까?
예, 물론입니다. 그러나 수많은 잠재적 인 대응책이 있습니다. 여러 해 동안 개발 된 다양한 형태의 프로세스를 샌드 박싱하고 주어진 시간이 지나면 프로세스가 종료되고 잠재적으로 위험한 기능에 대한 액세스가 차단됩니다.을 참조하십시오.
Windows 환경에서 샌드 박스를 만드는 방법이 있습니까? – Nick
내 머리 위로 버추얼 박스 또는 VM웨어와 같은 가상 머신 솔루션을 생각해 볼 수 있습니다. Google이 샌드 박스 + 윈도우의 첫 번째 링크로 이것을 발견했습니다 - http://downloadsquad.switched.com/2009/03/11/five -sandboxing-apps-to-protect-your-windows-computer / – arunkumar