Внимание, убедительная просьба к тем, кто использует DNSearch. Мне очень интересно, где и как Вы используете мой скрипт. Код DNSearch не содержит никаких фрагментов spyware, благодаря которым я бы мог получать статистику. И я не собираюсь использовать грязные методы получения статистики в будущем. Но мне очень интересно, где и как DNSearch работает. Так что если Вы где-нибудь его используете, сообщите, пожалуйста, об этом мне. Эта информация нужна только для моего собственного интереса и ни коим образом не будет распространяться без Вашего согласия. Спасибо.
ОСНОВНЫЕ ВОЗМОЖНОСТИ СКРИПТА. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
01. Алгоритм поиска: — поиск работает прямым перебором фалов; не нужно заниматься индексацией; — при отсутствии некоторых данных, скрипт установит значения по умолчанию.
02. Расширенный поиск: — возможность выбора пути для поиска; — возможность выбора логики поиска (и, или и т.п.); — возможность выбора регистра (чувствительный или нет); — выбор режима поиска: + обычный режим (всем известный); + т.н. режим «RegEx» (фраза считается регулярным выражением Perl).
03. Фильтрация поиска: — Возможность гибкой настройки фильтрации поиска. То есть, указать где надо искать, а где нет (при этом можно использовать RegEx для более гибкой настройки).
04. Вывод результатов: — выводимая информация содержит в себе: + путь к найденному файлу; + размер найденного файла; + заголовок из тэга «<title>»; + количество совпадений в файле; + небольшую фразу вокруг найденного текста: — возможно установить её размер (в символах); — очень «умный» алгоритм выделения найденных фраз; + строгое соответствие или нет (как в Яндексе). — ревалентность вывода при сортировке результатов: + строгое соответствие; + количество совпадений; + размер файла; — возможность постраничного вывода результатов.
05. Кэширование: — возможно включить кэширование результатов поиска, при чём есть: + возможность установить директорию кэша; + возможность установить время жизни кэша; + возможность установить максимальный размер кэша; — возможно включить кэширование путей поиска, при чём есть: + возможность установить директорию кэша; + возможность установить время жизни кэша; + возможность установить максимальный размер кэша.
06. Шаблонизация: — Шаблонность скрипта позволяет настроить все выходные сообщения (вплоть до ошибок) очень тонко. Шаблоны хранятся в HTML (и CSS) файлах, что позволит легко их править. — Многоязычный интерфейс.
07. Возможность поиска по любым архивам: — в специальном файле необходимо указать опции и путь к распаковщику; — скрипт распаковывает содержимое архива и ищет в нём; — возможен удалённый просмотр найденных страниц: + специальный скрипт отдаёт необходимые файлы; — возможно установить ограничение на размер распакуемого архива; — возможно установить максимальный размер папки с распакованными архивами; — функция работает на любой платформе.
08. Стандартизация: — Perl-код написан с использованием ключа «-w» и прагмы «use strict;»; — выводимый (X)HTML-код полностью соответствует стандарту XHTML 1.0; — браузерам, которые «понимают» XHTML (Mozilla, Opera, Safari), (X)HTML-код выдаётся с MIME-типом «application/xhtml+xml» (при включённой опции).
09. Юзабилити: — прозрачная, мощная и интуитивно-понятная система позволяет работать людям без большого опыта программирования (новичкам); — удобная, кроссбраузерная (работает в IE, Opera, Mozilla) форма поиска; — удобное подключение через SSI: «<!--#include virtual="/cgi-bin/dnsearch/search.pl?action=form" -->».
10. Другое: — возможность «поиска в найденном» (как в Яндексе).
УСТАНОВКА И НАСТРОЙКА. ~~~~~~~~~~~~~~~~~~~~~~
01. В файлах «search.pl» и «viewer.pl» в 1-й строке установите путь к интерпретатору Perl, (если он отличается от «/usr/bin/perl»).
02. В файле «Conf/DNSconf.pm» установите переменные по Вашему вкусу. В принципе, скрипт самодостаточный и никаких особых настроек не требует. Так что можете смело пропустить этот пункт. Если Вы что-то захотите изменить (или какая-то функция не будет правильно выполняться), то загляните в этот файл. К каждой переменной есть подробный комментарий. Затруднений возникнуть не должно.
Если Вы хотите получить полноценную работу с кириллицей, то раскомментируйте строки № 26,27,28 (в этом районе) в «search.pl». ВНИМАНИЕ! У Вас должны быть установлены соответствующие модули!
03. В файле «Conf/archive.types» содержатся пути к распаковщикам архивов и соответствующие им расширения файлов (можно указывать полное имя). Если в процессе поиска скрипту встретится файл, расширение которого прописано в массиве «@ARCHIVE_FILE» (он находится в файле настроек «Conf/DNSconf.pm»), то скрипт попробует распаковать этот файл с помощью распаковщика для этого расширения, который прописан в файле «Conf/archive.types». После распаковки скрипт будет искать в распакованных файлах (по стандартным правилам).
ВНИМАНИЕ! Изначально DNSearch писался для Денвера, для которого рабочая платформа — «Windows». Именно поэтому, по умолчанию все распаковщики указаны для этой платформы. Если Вы собираетесь использовать скрипт на платформе «*nix», то загляните в файл «Conf/archive.types» — там описаны некоторые распаковщики для «*nix» (и их использование).
04. Закачайте папку «dnsearch» в директорию «cgi-bin» Вашего сайта. Не забудьте, что «*.pl»-файлы желательно закачивать в ASCII-режиме, чтобы обеспечить корректную замену CRLF на LF. О том, как включить этот режим, смотрите документацию по вашему FTP-клиенту.
Всем временным папкам следует сопоставить права доступа 777. Учитывайте тот момент, что понятие права доступа есть только в *nix-системах. Таким образом права доступа следует выставлять только если Вы устанавливаете DNSearch под *nix-платформу. Если же Вы ставите скрипт под Widnows, никаких прав доступа устанавливать не надо.
06. Запустите «http://domain.com/cgi-bin/dnsearch/search.pl». Поисковую форму можно встраивать в страницы с помощью директивы Apache Server Side Includes (SSI): «<!--#include virtual="/cgi-bin/dnsearch/search.pl?action=form" -->». Языковой интерфейс формы (и скрипта) можно установить с помощью опции «lng»: «search.pl?action=form&lng=ru», «search.pl?lng=eng», и т.д. и т.п.
УСЛОВИЯ ИСПОЛЬЗОВАНИЯ. ~~~~~~~~~~~~~~~~~~~~~~
Данный скрипт является абсолютно бесплатным инструментом для поиска. Вы можете использовать этот скрипт, как Вам хочется, кроме: — Вы не можете использовать его в коммерческих целях; — Вы должны сохранять комментарии с копирайтами в коде.
Никакие другие ограничения не накладываются.
Если Вы хотите внести изменения в исходный код, авторы будут рады получить Ваши комментарии и замечания. Приятной работы!
ВОПРОСЫ. ~~~~~~~~
Появляющиеся у Вас вопросы и предложения Вы можете задать на форуме <dklab.ru> в теме <http://forum.dklab.ru/denwer/base/Dnsearch-AScriptOfSearchForDenver.html>. Мы обязательно Вам поможем.
ОТБЛАГОДАРИТЬ АВТОРА. ~~~~~~~~~~~~~~~~~~~~~
Если Вы используете DNSearch, он Вам нравится и у Вас есть желание, то Вы можете помочь мне работать над его усовершенствованием. Есть несколько путей, с помощью которых это можно сделать: — Напишите мне (http://forum.dklab.ru/users/Ant/email/) где и каким образом Вы используете DNSearch. — Напишите мне Ваши мнения/предложения (любые отзывы) касательно DNSearch. — Переведите языковой файл «languages/ru.lng» на язык, перевода для которого ещё не создано и пришлите мне. — Установите на Вашем сайте ссылку на ресурс <http://debugger.ru/>. — Расскажите Вашим знакомым и друзьям о DNSearch. — Установите на Вашем сайте ссылку на сайт Денвера (<http://www.denwer.ru/>). — Рекомендуйте Вашим знакомым и друзьям Денвер. — Перечислите некоторую сумму на один из нижеследующих кошельков WebMoney: + Z744883942015 + R701701195185 + E955357446392
Что бы Вы не сделали из приведённого выше списка, большое Вам спасибо за помощь!
Последний раз редактировалось: Ant (Пт Апр 14, 2006 11:32 pm), всего редактировалось 19 раз(а)
* DNSearch 1.2 [2004-06-14] — Наконец-то дошли руки всё отладить. Исправлено несколько грубых ошибок. — Оказалось, что формат CHM так устроен, что в нём могут содержаться вложенные директории. Заточил скрипт под это. — Добавлено кэширование путей поиска. Теперь поиск в одной и той же директории по разным фразам, после кэширования производится на 40 процентов быстрее. Кэш содержится в одном файле. В этом файле может быть закэшировано сколь угодно много путей (вплоть до превышения лимита). Каждый набор путей имеет свою точку отсчёта по времени, после превышения которого (лимита) удаляется.
Последний раз редактировалось: Ant (Ср Июн 29, 2005 1:52 pm), всего редактировалось 1 раз
* DNSearch 1.2 [2004-06-26] — Исправлено несколько ошибок (как обычно (-; ). — Отключена буферизация вывода («$|=1;»). Дело в том, что после долгой работы скрипта (более 10 минут) IE, например, не отображал результаты, хотя скрипт полностью завершал работу. После отключения буферизации эта ошибка исчезла. [Владимир Палант, Юрий Насретдинов, Андрей Новиков] — Теперь DNSearch будет искать в любом архиве, к которому укажут необходимый распаковщик. Всё достаточно просто настраивается. Функция работает на разных платформах (конечно, нужны соответствующие распаковщики). В «стандартной» поставке в скрипт включены три утилиты для распаковки файлов: «unrar.exe» и «unzip.exe» для «Win»- и «arCHMage» для «*nix»-платформы. В «денверовской» версии предположительно останется только «unzip.exe» (слишком много места эти утилиты требуют, к сожалению). — Возможность указывать максимальный размер распаковываемых архивов. Архивы, размер которых превысит предел, будут пропускаться. [Юрий Насретдинов] — Разноцветная подсветка слов при просмотре распакованных архивов. [Rumata] — DNSearch проверен в работе на платформе Linux Mandrake 9.1. Проблем не было. Даже в тамошнем браузере «Konqueror» всё отобразилось отлично. Всё штатно. Можно смело использовать DNSearch на хостинге с «*nix»-платформой. — Новый, улучшенный дизайн вывода результатов. — Все настройки вынесены в отдельный файл: «Conf/DNSconf.pm». Так удобнее.
P.S. Сегодня (точнее, вчера уже по тамошнему времени) Голландцы выиграли у Шведов по пенальти (счёт в основное время: «0:0»). По мне — так объявить, что игра «Португалия — Англия» была финальной и выдать главный приз Португалии. Давно я не видел ТАКОГО футбола. Браво! Ну всё, заканчиваю оффтоп. (-;
Последний раз редактировалось: Ant (Ср Июн 29, 2005 1:46 pm), всего редактировалось 2 раз(а)
* DNSearch 1.2 [01-07-2004] — Начато официальное ведение «списка изменений». Какие изменения я вспомнил — те законспектировал. Многие события остались за кулисами. Впредь всё будет чётко фиксироваться. [Дмитрий Кóтеров] — Добавлена надпись «Пожалуйста, ждите.» во время поиска. [Дмитрий Кóтеров] — После поиска, в форме сохраняются значения всех полей (JS). — Добавлено большое количество mime-типов для «viewer.pl». [Дмитрий Кóтеров] — Если для файла не будет найден mime-тип, то установится умолчательный «text/ plain». [Дмитрий Кóтеров] — Блокировка (flock) файлов перед записью. [Дмитрий Кóтеров]
* DNSearch 1.2 [24-09-2004] — Отправка XTHML-кода браузеру как «application/xhtml+xml», если браузер знает этот формат. Если нет, то данные отправляются как «text/html». Современные браузеры, поддерживающие «application/xhtml+xml»: MZ, NN, Opera. Зачем нужна такая отправка XHTML: <http://hixie.ch/advocacy/xhtml>. — Сжатие результатов (только результатов) поиска перед их отправкой браузеру с помощью Gzip. Для работы необходимы следующие модули: strict, warnings, CGI, Carp, IO::Zlib. Если какого-то модуля не окажется в системе, сжатие не будет производится (исключительной ситуации не будет). — Подправлены JS-скрипты для совместимости с такими браузерами, как Firefox. [Илья Лебедев] — Небольшие косметические изменения.
* DNSearch 1.3 [2004-12-10] — Теперь самую последнюю версию DNSearch можно всегда получить по адресу: <http://debugger.ru/download/scripts/dnsearch/latest/>. [Дмитрий Кóтеров] — Добавлена помощь к поиску. [Пaвел Koлабухов] — Решена проблема с ссылками на локальные файлы в MZ. [juvio, Дмитрий Кóтеров] — Ранее файл с кэшем мог использоваться до того, как закончится текущий поиск, и все данные будут корректно записаны. Теперь это невозможно. — Значительно улучшены шаблоны вывода. [Пaвел Koлабухов] — По некоторым соображениям пока пришлось отказаться от сжатия данных (Gzip). — Улучшен случайный выбор названиий для имён файлов с кэшем. — Теперь пути для поиска прописываются в файле конфигураций: Conf/DNSconf.pm, а не в файле-шаблоне «form.html». Во-первых, так удобнее, а во-вторых, этот приём поможет защититься от неразумных хакеров. — Улучшен выбор выдачи браузеру содержимого как XHTML. [Владимир Палант] — Теперь при выборе режима «RegEx», ненужные опции устанавливаются в disabled. — Исправлено несколько грубых ошибок.
* DNSearch 1.3 [2005-02-12] — Исправлен баг, который приводил к выводу сообщения об ошибке до заголовков. — Исправлена ошибка, которая приводила к невозможности поиска по «0». [juvio] — Введена проверка кеша на предмет дублирования. При необходимости дубликаты удаляются. — Значительно улучшены шаблоны вывода. ВНИМАНИЕ! Новые шаблоны несовместимы со старыми версиями! Будьте внимательны при обновлении DNSearch. — Добавлено больше комментариев для хеша «%PATHS» и функции «templatesParser». [Дмитрий Кóтеров] — Добавлен контроль за количеством копий одновременно работающих процессов. По умолчанию он выключен. Включается в файле настрок «DNSconf.pm». — Автоопределение текущей буквы диска в файле «DNSconf.pm». Только для Win32. [Дмитрий Кóтеров] — Оказалось, что Kaspersky Anti-Hacker блокирует обращение к локальным ссылкам (вида «file:///») даже не занося при этом никаких записей в журнал. Добавил предупреждение об этом. [juvio] — Мелкие косметические изменения. — Обновление предыдущей версии DNSearch (1.3 [2004-12-10]) в Денвере. [Дмитрий Кóтеров]
* DNSearch 1.4 [2005-06-27] — Реализован многоязычный интерфейс. ВНИМАНИЕ! В связи с этим дополнением, все шаблоны, часть программного кода не совместимы со старыми версиями DNSearch. [Игорь Варфоломеев, baev, Евгений Галашин] — Иправлена ошибка работы опции «Регистр» в *nix. [Игорь Варфоломеев, Дмитрий Кóтеров] — Теперь, по умолчанию, страницы выдаются как «text/html», даже если браузер поддерживает XHTML. Это связано с тем, что программисты не задумываются о правильном XHTML-коде и вставляют в шаблоны скрипта код, не соответствующий стандарту XHTML. Однако весь выходной код DNSearch по-прежнему соответствует стандарту, а включить поддержку последнего можно через переменную «$XHTML» в «DNSconf.pm». — Мелкие косметические изменения.
* DNSearch 1.4 [2006-04-15] - Попытка определения буквы диска в файле конфигурации «DNSconf.pm» на *nix- подобных системах могла вызвать битую кодировку выходящих данных. Добавил определение платформы Win32. [Сергей П <http://www.pavel-ko.net>] - В результаты попадали только те документы, в которых было совпадение между тегами <body> и </body>. Совпадения между тегами <tytle> и </title> не попадали в результат, т.е. страницы не попадали в результаты, если искомый текст находится только в заголовке. Исправил. [Alik]
Вы можете начинать темы. Вы можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать в опросах. Вы не можете прилагать файлы к сообщениям. Вы можете скачивать файлы.