无法通过HTTP API执行javascript命令

failed to execute javascript command via HTTP API

本文关键字:执行 javascript 命令 API HTTP      更新时间:2023-09-26

我正在尝试通过HTTP API执行javascript命令,如下所示:

curl-X POST-H"内容类型:application/json"-H"授权:基本YWRtaW46aWRlYW0ODI2"-H"缓存控制:无缓存"-d'{"事务":true,"操作":[{"type":"脚本","language":"javascript","script":"orient.getGraph().createVertex('class:customer')"}]}'http://localhost:2480/batch/mydb

回复如下:

com.orientechnologies.orient.core.exception.OSecurityException:不允许执行语言"javascript"

版本详细信息(http响应):
服务器→OrientDB Server 1.7.8版(内部版本UNKNOWN@r${buildNumber};2014-08-13 15:56:07+0200)

它怎么了
感谢

这是出于安全原因。要允许JS脚本打开config/orientdb-server-config.xml文件并更改OServerSideScriptInterpreter组件:

    <!-- SERVER SIDE SCRIPT INTERPRETER. WARNING! THIS CAN BE A SECURITY HOLE:
        ENABLE IT ONLY IF CLIENTS ARE TRUCT, TO TURN ON SET THE 'ENABLED' PARAMETER
        TO 'true' -->
    <handler
            class="com.orientechnologies.orient.server.handler.OServerSideScriptInterpreter">
        <parameters>
            <parameter name="enabled" value="true"/>
            <parameter name="allowedLanguages" value="SQL,Javascript"/>
        </parameters>
    </handler>