调用eval()被cdb错误阻止显示在couchdb _list

时间:2018-05-09 07:30:57

标签: couchdb couchdb-2.0

任何人都可以帮助我在couchdb设计文档中启用Eval()Function()

我正在尝试在eval()函数中使用_list和函数方法,但在调用列表时它总是显示以下错误

  

{       “代码”:500,       “error”:“render_error”,       “reason”:“函数引发错误:(新错误(\”调用eval()被CSP阻止\“,\”lists.testing \“,1))\ nstacktrace:([object Object],[object Object] )@ lists.testing:1 \ nrunList(function(head,req){var

1 个答案:

答案 0 :(得分:1)

默认情况下,在couchjs中禁用了eval函数,这是评估设计文档中定义的JavaScript函数的过程。您可以在此commit中看到此更改。

似乎eval可以在系统上产生一些风险,因为它可以用作在服务器中运行非受控代码的机制。

如果您承担风险,我认为您可以通过覆盖 local.ini 配置文件中的 [query_servers] javascript 配置属性来重新启用它。您需要将 - eval 参数添加到 couchjs 命令。

[query_servers]
javascript = ./bin/couchjs --eval ./share/server/main.js