javax.scripting
을 사용하여 서버 측에서 임의로 사용자가 업로드 한 JavaScript를 실행하기위한 지원을 추가합니다. 분명히 그 스크립트를 확보하고 싶습니다!javax.scripting을 사용하여 실행되는 스크립트를 보호하려면 어떻게해야합니까?
Rhino는 자체적으로 런타임에 스크립트를 보안하기위한 프레임 워크를 가지고 있습니다. 그러나 javax.scripting
에 대한 설명서에는 보안, 사용 권한 또는 스크립트에서 사용할 수있는 클래스 제한에 대한 언급이 없습니다. 이것은 javax.scripting
API의 막대한 구멍입니다. 실행되는 스크립트를 보호하기위한 프레임 워크를 제공하지 않습니다.
원래 Rhino를 사용했지만 Java 인스턴스를 실행중인 스크립트에 노출시키는 데 문제가 있었기 때문에 Rhino를 직접 사용하고 싶지 않습니다. javax.scripting
프레임 워크 (Rhino를 사용)는이 작업을 단순하게 만들었고 멀티 스레드 서버에서 스크립트를 실행하는 것을 단순화했습니다.
실행중인 스크립트에서 액세스/인스턴스화 할 수있는 Java 클래스를 화이트리스트하고 싶습니다. 누구든지 이것을 달성하는 방법에 대한 예제 나 문서를 가르쳐 줄 수 있습니까?