Кеширование результатов поиска. Как отследить, что это тот же пользователь?

docker

Новичок
Кеширование результатов поиска. Как отследить, что это тот же пользователь?

Добрый день!

При поиске задействуется сложная связка таблиц, поэтому
для снижения нагрузки на сервер при переходе по страницам результатов - делаем форму поиска post, результаты кешируем в таблицу и перенаправляем пользоветеля на кеш результатов поиска.
Ну т.е стандартная схема поиска которая у всех хороших форумов сегодня используется (в этом в тот числе).

Вопросы:
1) Для чего делают задержку при поисковых запросах от одного пользователя. Ну т.е. если ты чаще чем раз в 10 секунд что-то ищешь - тебе пишется, что поиск от вас должен вестись не чаще чем раз в 10 с.? Для того, чтобы в результате непрерывной работы скрипта какого-нибудь хакера, таблица хеша не превысила допустимые размеры и поиск не поломался?

2) Как часто поисковые кеши очищаются обычно? Ну т.е. через сколько кеш произвольного запроса будет удален?

И самый главный вопрос, который и сподвиг меня спросить совета:

3) простите... но... как отличать что поисковый запрос в течении установленного минимального временного порога идет от того же пользователя? По ip - нельзя, может из большой прокси пользователи ищут, тогда у них у всех будет запрещен поиск. Сессии стартовать - тоже не поможет, т.к. хакерский скрипт просто не будет передавать session_id и сервер его не распознает...
Поэтому как это делается вообще +как если это можно узнать на этом форуме сделано..?

Сорри, если вопрос уже обсуждался, поиск по запросу "поиск кеширование" на этих форумах формирует поисковый кеш ;))) в котором всего 2 темы, где про это ничего к сожалению не нашел... ;)))
 

texrdcom

Новичок
ну думай сам ) пойми чудес не бывает что такое кеш ?
не важно кто запрашивает важно откуда брать результаты для его запроса!
 

docker

Новичок
texrdcom может туплю, но я предполагал что кеш хранится в какой-нибудь специальной таблице кеша и результат ЛЮБОГО запроса записывается именно в нее.

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

Откуда еще можно брать рез-ты кеша? Из файлов? И к имени файла тоже как-то привязывать сессию пользователя? Но та же самая проблема - не передаем и session_id либо какой-нибудь другой признак этой же сессии(скрытое поле формы поиска например) - и сервер опять не знает, что это та же самая сессия....

Наверное туплю скорей всего, но не дошло что ты имеешь ввиду... ;(
 

Popoff

popoff.donetsk.ua
как отличать что поисковый запрос в течении установленного минимального временного порога идет от того же пользователя? По ip - нельзя, может из большой прокси пользователи ищут, тогда у них у всех будет запрещен поиск.
Десять секунд - это очень мало. Даже если за одной проксей сидит 10,000 человек, как, например, у меня, одновременно эти люди в интернет выходят очень редко, в среднем человек по 300. Из этих 300 дай Бог, чтобы насобирался хотя бы десяток, таких, которые одновременно обращаются к одному сайту, например, к этому форуму. А чтобы эти десять одновременно начали искать (а не просто ходить по страницам и читать) - это ну совсем уж невероятно :) Единственное, что может произойти, это если у меня групповое занятие, и я говорю примерно следующее: запустите браузер, зайдите на такой-то сайт, введите поисковую фразу и по команде все вместе нажимаем ENTER :) В конце концов - ничего, посидят десять секунд пооддыхают, делов-то :)
 

Фанат

oncle terrible
Команда форума
ГЛАВНЫЙ вопрос надо было задать ОДИН.
в такой формулировке:
"применяю кэширование результатов поиска исключительно из боязни, что хаекры задосят. (хоть самих хакеров и дос-атак никогда в жизни не видел, но выглядит очень умно). поэтому подскажите, как мне отличить хакера от юзера."

пока же ты столько всего наплёл, что тебе отвечают на что угодно, только не на этот вопрос.
 

docker

Новичок
Popoff т.е. по ip предлагаешь отличать.

Фанат да конечно все так, но хотелось бы услышать ответы на вопросы.

Посмотрел как в ipb форуме сделано - там по ip отслеживается. Похоже везде, в том числе и здесь тоже по ip отслеживается. Если это не так - поправьте меня, если кто-то как-то по иному делает, расскажите плиз.
 

Фанат

oncle terrible
Команда форума
если всё конечно так, то твой вопрос к кэшированию резальтатов поиска не имеет ни малейшего отношения.

поэтому, чтобы услышать ответы на вопросы, ты должен ОПРЕДЕЛИТЬСЯ с этими вопросами.

выбери что-нибудь одно.
 

Toxic_Cat

Новичок
Автор оригинала: Фанат
применяю кэширование результатов поиска исключительно из боязни, что хаекры задосят. (хоть самих хакеров и дос-атак никогда в жизни не видел, но выглядит очень умно).
Все-равно лучше сразу предостереч себя от DOS атак, даже если ни разу их не видывал :)

простите... но... как отличать что поисковый запрос в течении установленного минимального временного порога идет от того же пользователя? По ip - нельзя, может из большой прокси пользователи ищут, тогда у них у всех будет запрещен поиск. Сессии стартовать - тоже не поможет, т.к. хакерский скрипт просто не будет передавать session_id и сервер его не распознает...
Никак... DOS атаки очень сложно распознать. Принимай отпечатки пальцев или сканируй сетчатку глаза у каждого "ищущего"... Все остальное можно подделать или сменить...
 
Сверху