doofinder/doofinder-magento

Error with message 400 - Non allowed escape characters in query string

Closed this issue · 2 comments

Hello,
I update the Magento Doofinder Module to the latest Version and until this I have this exception:

2017-06-07T00:00:04+00:00 ERR (3): 
exception 'Doofinder\Api\Search\Error' with message '400 - {"error":"Non allowed escape characters in query string"}' in /var/www/share/htdocs/lib/php-doofinder/src/Search/Client.php:172
Stack trace:
#0 /var/www/share/htdocs/lib/php-doofinder/src/Search/Client.php(231): Doofinder\Api\Search\Client->apiCall('search', Array)
#1 /var/www/share/htdocs/lib/php-doofinder/src/Search/Client.php(502): Doofinder\Api\Search\Client->query('HKK%20Aktive%20...', 2)
#2 /var/www/share/htdocs/app/code/community/Doofinder/Feed/Helper/Search.php(100): Doofinder\Api\Search\Client->nextPage()
#3 /var/www/share/htdocs/app/code/community/Doofinder/Feed/Model/CatalogSearch/Resource/Fulltext.php(104): Doofinder_Feed_Helper_Search->getAllResults()
#4 /var/www/share/htdocs/app/code/core/Mage/CatalogSearch/Model/Fulltext.php(136): Doofinder_Feed_Model_CatalogSearch_Resource_Fulltext->prepareResult(Object(Mage_CatalogSearch_Model_Fulltext), 'HKK%20Aktive%20...', Object(Mage_CatalogSearch_Model_Query))
#5 /var/www/share/htdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext/Collection.php(147): Mage_CatalogSearch_Model_Fulltext->prepareResult()
#6 /var/www/share/htdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext/Collection.php(126): Mage_CatalogSearch_Model_Resource_Fulltext_Collection->getFoundIds()
#7 /var/www/share/htdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext/Collection.php(113): Mage_CatalogSearch_Model_Resource_Fulltext_Collection->_applySearchFilters()
#8 /var/www/share/htdocs/lib/Varien/Data/Collection.php(225): Mage_CatalogSearch_Model_Resource_Fulltext_Collection->getSize()
#9 /var/www/share/htdocs/app/code/local/Mana/Seo/Model/Observer.php(101): Varien_Data_Collection->getLastPageNumber()
#10 /var/www/share/htdocs/app/code/core/Mage/Core/Model/App.php(1358): Mana_Seo_Model_Observer->prepareMetaData(Object(Varien_Event_Observer))
#11 /var/www/share/htdocs/app/code/core/Mage/Core/Model/App.php(1337): Mage_Core_Model_App->_callObserverMethod(Object(Mana_Seo_Model_Observer), 'prepareMetaData', Object(Varien_Event_Observer))
#12 /var/www/share/htdocs/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array)
#13 /var/www/share/htdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(351): Mage::dispatchEvent('controller_acti...', Array)
#14 /var/www/share/htdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#15 /var/www/share/htdocs/app/code/core/Mage/CatalogSearch/controllers/ResultController.php(77): Mage_Core_Controller_Varien_Action->loadLayout()
#16 /var/www/share/htdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_CatalogSearch_ResultController->indexAction()
#17 /var/www/share/htdocs/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#18 /var/www/share/htdocs/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#19 /var/www/share/htdocs/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
#20 /var/www/share/htdocs/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#21 /var/www/share/htdocs/index.php(83): Mage::run('', 'store')
#22 {main}

Magento Version CE v1.9.3.1

Magento Doofinder v1.8.7

@bbtimx that error is produced because your site sent a search request to Doofinder servers with a query that can be unescaped multiple times. That could be a hack attempt and Doofinder complained about it.

We are going to handle the error and let Magento return whatever it wants so the site doesn't break.

I'm closing this for the moment. Will be a release soon.