SQL-запрос Elasticserach с передаваемыми параметрами, поэтому мы предотвращаем внедрение sql

Я использую эластичный поиск версии 7.6.2. Передача параметров в запрос, не работающий в кибане. Когда я пытаюсь добавить запрос параметров, который не работает в инструменте разработки kibana, если мы попробуем с запросом параметров, он будет работать нормально.

       POST /_sql?format=txt
                   {
                     "query": "SELECT count(*) as aa  from student where  st_category = ?",
                     "params": [
                       39
                     ]
                   }
       ```  
                     {
                     "error" : {
                       "root_cause" : [
                         {
                           "type" : "x_content_parse_exception",
                           "reason" : "[5:3] [params] Expected START_OBJECT but was: END_ARRAY"
                         }
                       ],
                       "type" : "x_content_parse_exception",
                       "reason" : "[5:3] [sql/query] failed to parse field [params]",
                       "caused_by" : {
                         "type" : "x_content_parse_exception",
                         "reason" : "[5:3] [params] Expected START_OBJECT but was: END_ARRAY"
                       }
                     },
                     "status" : 400
                   }

1 ответ

Воспроизводится на кластере 7.6.0, но не на моем 7.9+. Эта функция впервые появляется в 7.7. Так что, к сожалению, вам придется обновить свой кластер, если вы хотите его использовать.

Другие вопросы по тегам