我正在解析不受信任的数据。为了改进错误报告,我想跟踪文件位置。
据我所知,clojure.tools.reader.edn/read
是处理不受信任数据的正确工具,但它不提供文件位置元数据,而clojure.tools.reader/read
具有文件位置元数据,但它可能会在不受信任的数据的 behalf 上执行代码,这显然不是理想的选择。
如果我将data-readers绑定到一个已知安全读取器的映射,并将read-eval设置为false,这还会使我容易受到不受信任数据的不想要的代码执行的影响,还是会使clojure.tools.reader/read
在我的EDN上使用时更安全?