2010-05-19 3 views
15

잠재적으로 신뢰할 수없는 코드를 실행하려면 환경을 만들어야합니다. 프로그램은 사전 구성된 주소 : 포트 및 다른 것 (시스템 시간조차도)에 연결할 수 있습니다. 나는 클래스 화이트리스트를 편집했다. 비슷한 질문을했지만 AFAIK가 더 이상 사용되지 않는 SecurityManager에 기반한 템플릿 만 발견했습니다. 보안 정책 및 AccessController를 기반으로 샌드 박스에서 코드를 실행하는 방법을 간단한 예제를 제공 할 수 있습니까?보안 정책에 따라 Java 샌드 박스 만들기

답변

15

내가 아는 한, 여전히 보안 검사를 실행하는 SecurityManager입니다. 하지만 요즘에는 AccessController에 위임하는 것 같습니다.

먼저 보안 관리자에 전환해야합니다 :

-Djava.security.manager

를이 인수가 어떠한 샌드 박스가 없을 것이다 생략합니다.

둘째 어디 정책 파일을 찾을 말할해야합니다 :

-Djava.security.policy의 =

이 이미 자바 집에 정의 된 것들에 권한을 추가합니다. 원래 샌드 박스는 .../jre/lib/security/java.policy에 있습니다. 그러나 정책을 하나만 사용하려면 이중 "="을 사용해야합니다. 이렇게하면 허용되는 것을 완전히 제어 할 수 있습니다. 예를 들어

:

-Djava.security.policy의의 ==

내가 자바와 함께 제공된 "의 policytool"를 사용하기를 권합니다. 상당히 기본이지만 올바른 구문으로 정책 파일을 빠르게 작성하는 데 도움이됩니다.

이 도움이 되었기를 바랍니다 ...

관련 문제