Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Модули (http://forum.mynuke.ru/forumdisplay.php?f=17)
-   -   сокращение поисковой фразы (http://forum.mynuke.ru/showthread.php?t=2001)

Samovar 03.06.2006 14:52

сокращение поисковой фразы
 
Здравствуйте!

Никак не могу сократить поисковую фразу до трех букв :(
Модуль - RuSearch V0.2, немного модифицированный - оставил только поиск для News и Downloads. Надеюсь на вашу помощь - сайт еле живой...

Soniks 05.06.2006 20:53

Samovar зделайте обычную проверку на длину слова, например:
PHP код:
 if(strlen(trim($query))<3){
   include(
"header.php");
   
OpenTable();
   echo 
"Поисковой запрос короткий!";
   
CloseTable();
   include(
"footer.php");
   die();
  } 

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

Samovar 06.06.2006 00:33

спасибо большое! работает! :)

Alexander-V-Sh 15.06.2006 03:19

Хотелось бы сделать на проверку символов.
На предлоги и слова определенные знаю как сделать, а вот если фраза полностью не совпадает, а содержит символ.
Например <> img /\ ' " b и т.д.
Чтобы просто выкидывала на ошибку, и не пыталась даже искать.
А то ввел сейчас <tr> вылетели ошибки в поисках.
Строка:
$title = ereg_replace($query, "$query", $title);
А в других местах - нашлось все, правда без ошибки.

В модуле энциклопедии как то сообразило что это ошибка :)

решил пока проблему таким образом.
У меня в нюке 2 фильтра, один для коментариев, другой для админа.
В самом начале модуля поставил:
$query = filter2($query);
В этом фильтре не разрешен в конфиге ниодин тег.

Поможет ли это как нибудь?
Просто читал про эньекции у вас на сайте, и запутался совсем в этих stripslashes, addslashes, check_html, nohtml...
Много разных версий поиска, плюс сам что то пытался. Где filter стоят просто, где слешес...

Soniks 21.06.2006 01:49

Alexander-V-Sh лучше всего обрабатывать запросы пользователя через функцию htmlspecialchars(), strip_tags() и не помешает addslashes()


Часовой пояс GMT +4, время: 00:25.

Copyright © 2005 by Soniks