【发布时间】:2013-04-09 05:00:39
【问题描述】:
我想在一个字符串中发送一个 clojure 表达式,以便在接收器处进行评估,这可能是一个用 compojure 编写的 Web 服务。例如,假设我有字符串“(* 7 6)”,我想将其转换为 '(* 7 6),然后我可以将其传递给 eval 并得到 42。这个操作在 JavaScript 中是微不足道的,但是不太清楚如何在clojure中做到这一点。提示?
【问题讨论】:
-
请注意,这将允许 Web 客户端(互联网上的任何人)在您的 Web 服务器进程中执行任意代码,例如重新定义变量、脱壳、删除文件等。
-
知道了。在允许此操作之前,我的应用程序将对发件人进行身份验证和授权以获得完全信任。或者,它会解析、分析和/或沙箱注入的代码。
标签: clojure