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

Post Reply
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

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

Post 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;
admin
Site Admin
Posts: 37233
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

Приветствую!

те если формализировать то надо что б только латинские буквы попадали?
Don't forget to run script update
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

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

Post by smart »

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

те если формализировать то надо что б только латинские буквы попадали?
по идее да, так как эти же кракозябры и в серчлоге выводятся и становятся порой очень длинные
admin
Site Admin
Posts: 37233
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

Don't forget to run script update
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

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

Post by smart »

похоже это не совсем то решение, получилось так, что все текущие запросы вдруг стали группироваться воедино
вместо big tits стало bigtits и так далее, соответсвенно весь поиск стал 404
admin
Site Admin
Posts: 37233
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

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

добавил пробел)
Don't forget to run script update
Nikso
Posts: 582
Joined: Tue Mar 05, 2013 3:59 am

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

Post 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
admin
Site Admin
Posts: 37233
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

Как вариант включить символы которые вам надо в регекс и оно автоматом уберет которые не надо?
Don't forget to run script update
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

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

Post by smart »

у меня новая проблема, теперь вот такие запросы в базу стали попадать:
Milly D'abbraccio
-milly

как от них избавляться ?
admin
Site Admin
Posts: 37233
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

по идее

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

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

точно у вас оно есть в комон?
Don't forget to run script update
Post Reply