2017-02-02 3 views
1

샌드 박스 용 clojail 라이브러리를 사용하고 있지만 예상대로 작동하지 않습니다. 여기 Clojail이 Clojure에서 보안 예외를 throw하지 않습니다.

코드입니다 : 그것은 SecurityException가가 발생하는

(ns jail.core 
    (:require [clojail.core :as s] 
      [clojail.testers :as t])) 

(def my-tester [(t/blacklist-objects [clojure.lang.RT]) 
       (t/blanket "clojail")]) 

(def sb (s/sandbox my-tester)) 

(println (sb '(do 
       (import clojure.lang.RT) 
       (RT/errPrintWriter)))) 

(import clojure.lang.RT) 줄에 있지만 그렇지 않습니다.

그것은 의 PrintWriter (errPrintWriter) 개체를 반환합니다.

답변

0

클래스 객체를 import 매크로에 전달하지 않으면 실제로 작동하지만 작동이 다소 이상하다고 생각됩니다. 여기

:

(println (sb '(do 
       clojure.lang.RT 
       (RT/errPrintWriter)))) 

지금은지고있어 보안 예외, 어떻게 든 import 매크로 clojail가 보안 예외을 던져 방지 할 수 있습니다.