[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт поиска по сайту
SeraFim
Ищу скрипт поиска по сайту. Посоветуйте какой-нибудь rolleyes.gif
В интернете нашел несколько десятков, однако большинство ищут только в html файлах, а мне нужно еще и с поддержкой php/mysql.



Спустя 1 час, 6 минут, 16 секунд (15.07.2009 - 06:50) TMake написал(а):
Я считаю что самый лучшей скрипт это тот который ты сам написал. У меня кстати есть вот недавно написал, как тебе и надо работает с php(на самом деле нет такого чтобы поиск по сайту работал с php, все это дело работает с html), если интересует могу дать ссылку, но он еще не доработамный так что придется его поправлять.

Спустя 1 час, 43 минуты, 57 секунд (15.07.2009 - 08:34) Nikitian написал(а):
Sphinx
Один из лучших.

Спустя 3 месяца, 21 день, 8 часов, 52 минуты, 22 секунды (6.11.2009 - 18:26) Dron19 написал(а):
Можно написать структурированный запрос на SQL и поиск будет выполняться по Вашей БД по нужным Вам полям
Вот например

$search = mysql_query("SELECT * FROM table WHERE MATCH (Поле по которому будут находиться совпадения) AGAINST ('Переменная с введенными данными')");

А потом просто выводите в цикле данные, я лично делаю это через функцию printf
wink.gif

Спустя 3 дня, 23 часа, 52 минуты, 33 секунды (10.11.2009 - 18:19) Pinoplast написал(а):
Однако взломать его как два пальца об асфальт )))) это так для неграмотных кодеров

Спустя 5 дней, 21 час, 18 минут, 51 секунда (16.11.2009 - 15:37) tvn2009 написал(а):
Может быть это и оффтоп, но
ИМХО прикрутите поиск от яндекса или гугла, и приведите его под дизайн вашего сайта...
искать прямо в базе по ключевым словам можно, но нужно тщательно отфильтровывать слова и символы которые могут использоваться для SQL инъекции... а это угроза безопасности ваших данных...

Спустя 1 день, 8 часов, 28 минут, 48 секунд (18.11.2009 - 00:06) Гость_Pavel написал(а):
Здрасти!я вот реализовал форму для поиска, все исчет нармальна....но вот хочу еще дополнить ее тем, что б искомы слова в результате выделялись жирным текстом и менялся фон у них, так сказать то, что искали и то что нашли как то отличалось от остального текста!!!!Помогите если сможете!!!

Спустя 1 месяц, 13 дней, 20 часов, 23 минуты, 36 секунд (1.01.2010 - 20:30) cyberx написал(а):
а что не поможет такая маленькая фильтрация?



$result = htmlspecialchars($result);
$result = mysql_real_escape_string($result);
$result = stripslashes($result);

$search = mysql_query("SELECT * FROM table WHERE MATCH (Поле по которому будут находиться совпадения) AGAINST ('$result')");

Спустя 1 час, 54 минуты, 57 секунд (1.01.2010 - 22:25) Romms написал(а):
Цитата
а что не поможет такая маленькая фильтрация?

ага очень... особено если вот это
Цитата
$result = stripslashes($result);

сделать smile.gif
stripslashes();

Спустя 23 минуты, 52 секунды (1.01.2010 - 22:49) cyberx написал(а):
Romms

в каком смысле? может объяснишь в чем уязвимость этого запроса? я новичок и интересно. в каких случаях не рекомендуется использовать stripslashes?

Спустя 24 минуты, 41 секунда (1.01.2010 - 23:13) Romms написал(а):
если там непонятно то почитай сдесь

mysql_real_escape_string(); - экранирует спец символы!
а
stripslashes(); - удаляет экранирования!!!

Припустим
$result = '<a href="">Is your n\'ame O\'re\"illy?</a>';

то после этого кода;
$result = htmlspecialchars($result); // &.lt;a href=""&.gt;Is your n'ame O're"illy?&.lt;/a&.gt;
$result = mysql_real_escape_string($result); // \&.lt;a href=\"\"&.gt;Is your n\'ame O\'re\"illy\?\&.lt;/a\&.gt;
$result = stripslashes($result); // &.lt;a href=""&.gt;Is your n'ame O're"illy?&.lt;/a&g.t;
получется:
&.lt;a href=""&.gt;Is your n'ame O're"illy?&.lt;/a&.gt;
тоже что и после
$result = htmlspecialchars($result);


примеры результатов могут быть неточными, так как я непомню всег екранированых символов

Спустя 19 минут, 54 секунды (1.01.2010 - 23:33) cyberx написал(а):
значит переменную которая будет использоваться для запроса надо фильтровать только mysql_real_escape_string ? или htmlspecialchars и mysql_real_escape_string ? просто у попова было показано stripslashes и значит ее не следует использовать для запросов?

Спустя 2 месяца, 27 дней, 14 часов, 37 минут, 4 секунды (29.03.2010 - 13:10) igor717 написал(а):
что бы не парится по поводу все возможных sql-инъекций или xss-инъекций проще всего заменить пробелами все возможные опасные символы, а затем обрезать пробелы с обоих сторон:
$searching = trim(preg_replace("/[^\w\x7F-\xFF\s]/", " ", $searching));

Спустя 49 секунд (29.03.2010 - 13:11) igor717 написал(а):
нормальный человек все равно не будет их использовать при поиске

Спустя 2 года, 1 месяц, 4 дня, 6 часов, 56 минут, 37 секунд (3.05.2012 - 20:08) YADikby написал(а):
Граждане ,а можете поподробнее о
$search = mysql_query("SELECT * FROM table WHERE MATCH (Поле по которому будут находиться совпадения) AGAINST ('Переменная с введенными данными')");

Как раз сталкнулся с этим, но пока мозга не хватает попбороть поисr для телефонной базы.
Писал об этом тут

Спустя 1 час, 33 минуты, 34 секунды (3.05.2012 - 21:41) alexbel2404 написал(а):
Цитата (YADikby @ 3.05.2012 - 21:08)
Граждане ,а можете поподробнее о
$search = mysql_query("SELECT * FROM table WHERE MATCH (Поле по которому будут находиться совпадения) AGAINST ('Переменная с введенными данными')");

Как раз сталкнулся с этим, но пока мозга не хватает попбороть поисr для телефонной базы.
Писал об этом тут

Спустя 28 дней, 16 часов, 8 минут, 31 секунда (2.06.2012 - 13:50) 45king написал(а):
я LIKE %% использовал проблем нет все отлично работает
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.