2016-04-26 6 views
0

Ich habe jemanden, der herum für sql Injektionen Sondieren geht, was in Ordnung ist, aber ich finde elastische Suche ist werfen Fehler, die ich dachte, die Bibliothek würde nur behandeln.Elastische Suche werfen Client-Client Fehlerreaktion mit Suchanfragen

Zum Beispiel, wenn jemand eine Suche nach

' or 1=1 ' -- 

tut ich dann

exception 'Guzzle\Http\Exception\ClientErrorResponseException' with message 'Client error response 
[status code] 400 
[reason phrase] Bad Request 
[url] http://localhost:9200/items/product/_search' in /.../vendor/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php:43 

Wenn wir den Code anschauen, die die Suche tut haben wir

$client = new Client(); 
    $products = $client->search([ 
     'index' => 'product', 
     'type' => 'product', 
     'body' => [ 
      'query' => [ 
       'query_string' => [ 
        'query' => $query, 
       ] 
      ] 
     ] 
    ]); 

wo $ query ist gleich ' or 1=1 ' --

Also, wie kommt die Abfrage nicht entkommen, warum wirft es einen Fehler und was soll ich tun, um es zu stoppen? Ich bekomme auch Leute, die versuchen, andere Sachen einzuwerfen, die versuchen, einige Skripte oder etwas durch die Suche auszuführen.

Ich brauche keine Lust Optionen (wie foo -Bar)

Lauf Elasticsearch/Elasticsearch v1.1.0 PHP-Bibliothek Lauf Elasticsearch v1.7.1 auf dem Server

Antwort

0

Versuchen

$client = ClientBuilder::create()->build(); 
+0

Wo ist die ClientBuilder-Klasse? – Wizzard

+0

verwendest du elasicsearch-php? https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_index_management_operations.html –