사전 정의 된 객체 세트를 새 객체로 집계해야합니다. 그러나 사용자가이를 위해 사용자 지정 함수를 지정해야합니다. Ruby/Rails 응용 프로그램에서 사용자 정의 스크립트 허용
는 이제 본래의 접근법은 내가 분명히이해야 할def foo; end
objects = [1,2,3]
# result = eval(user_script)
result = eval("objects.inject {|sum, n| sum + n }")
하지 않으 어떤 것! $SAFE = 4
(here 참조)에 대해 읽었지만이 정도면 충분하지 않습니다. 특히 사용자 정의 스크립트는 여전히 foo
과 같은 다른 함수를 호출 할 수 있기 때문에 특히 그렇습니다. 나는 위험하지 않은 기본적인 Ruby 핵심 기능에 대한 액세스 만 허용하려고합니다.
Ruby가 사용자 정의 스크립트를 안전하게 실행할 수있는 기능이 있습니까? Ruby 구문 일 필요는 없습니다. 그래도 괜찮을거야.
대단하군요! 루비우스 (rubyverse)에서 이런 것들을 찾기가 어렵습니다. –