Page 1 of 1

search log кривые запросы

Posted: Tue May 21, 2019 11:15 am
by smart
Приветствую.

Подскажите, каким образом омжно избавиться от подобного рода запросов попадающих в базу при поиске ?
Поиск работает через сфинкс

Code: Select all

sandra león
japaneseå° å·
sandra león
sandra león
japanese小川
сам поиск срабатывает так:

Code: Select all

                var searchWord = $('.search-field').val();
                searchWord = searchWord.toLowerCase();
                searchWord = searchWord.replace(/[^\w\s]/gi, '');
                searchWord = searchWord.replace(/ +(?= )/g,'');
                searchWord = searchWord.trimRight();
                searchWord = searchWord.replace(/ /g,"-");
                var url = 'http://domain/' + searchWord + '/';
                window.location = url;

Re: search log кривые запросы

Posted: Wed May 22, 2019 10:08 am
by admin
Приветствую!

те если формализировать то надо что б только латинские буквы попадали?

Re: search log кривые запросы

Posted: Wed May 22, 2019 10:58 am
by smart
admin wrote: Wed May 22, 2019 10:08 am Приветствую!

те если формализировать то надо что б только латинские буквы попадали?
по идее да, так как эти же кракозябры и в серчлоге выводятся и становятся порой очень длинные

Re: search log кривые запросы

Posted: Wed May 22, 2019 11:06 am
by admin

Re: search log кривые запросы

Posted: Mon May 27, 2019 6:26 pm
by smart
похоже это не совсем то решение, получилось так, что все текущие запросы вдруг стали группироваться воедино
вместо big tits стало bigtits и так далее, соответсвенно весь поиск стал 404

Re: search log кривые запросы

Posted: Mon May 27, 2019 7:30 pm
by admin
if (isset($_GET['search'])) $_GET['search'] = preg_replace('|[^a-z,0-9,\s]|is','',$_GET['search']);

добавил пробел)

Re: search log кривые запросы

Posted: Tue Jun 11, 2019 1:39 pm
by Nikso
Подниму топик с похожей проблемой. Сайт планируется мультиязычным и поэтому просто удалить все не англ символы не подходит. Однако в лог попадают записи такого вида
как то это больше похоже на сбой. Вот например такая фраза есть
heels higts granny mâture pictures - так понимаю искали heels higts granny mature pictures
big di�ldo - здесь видимо big dildo
big di锟絣do
￯ᄐ ￯ᄐᄡ￯ᄐᆱgalleria

Поискал в гуле удаление не utf-8 символов
$str = iconv('utf-8', 'utf-8//IGNORE', $str);

но это не помогает, эти кракозябры похоже входят utf-8

Re: search log кривые запросы

Posted: Tue Jun 11, 2019 5:40 pm
by admin
Как вариант включить символы которые вам надо в регекс и оно автоматом уберет которые не надо?

Re: search log кривые запросы

Posted: Tue Jul 16, 2019 7:25 pm
by smart
у меня новая проблема, теперь вот такие запросы в базу стали попадать:
Milly D'abbraccio
-milly

как от них избавляться ?

Re: search log кривые запросы

Posted: Wed Jul 17, 2019 5:49 am
by admin
по идее

preg_replace('|[^a-z,0-9,\s]|is','',$_GET['search']);

должен убирать символы '

точно у вас оно есть в комон?