Определение пользователей и расшифровка запросов яндекса

sleepstream

Новичок
Определение пользователей и расшифровка запросов яндекса

Спасайте люди, мозг скоро взорвется!

Задача состоит в слудующем:
Есть счетчик который фиксирует посещаемость сайта. чтобы разделить разных пользователей в начале использовал сессии, далее задача усложнилась - пользователь отрубил куки и теперь каждый его новый клик на ссылку - новый пользователь на сайте.
Далее было предпринято решение сформировать идентификатор пользователя на базе значения USER_AGENT и ip адреса.
Задача опять усложнилась - с одним и тем же браузером и ip адресом,допустим в сетке нашего города может быть с сотню человек, которые буду заходить на сайт и идентифицироваться как один пользователь.
Вот теперь сижу ломаю голову как можно обойтисьв этом случае без сессий и как идентифицировать одного и того же человека пришедшего ко мне на сайт....

Так же возник вопрос, как сразу узнать по какому запросу в поисковой системе пользователь пришел на сайт, интересует как яндекст и т.п. шифрует свои запросы и как их вернуть обратно, информации где-то однажед видел но утерял безвозвратно...

Буду рад всем советам, только по делу.
 

dimagolov

Новичок
sleepstream, ты что, посетителям деньги за посещение платишь? что так остро стоит вопрос сколько раз на ссылку кликнули? или посетителей у тебя 10 человек, что один с отключенными куками портит статистику?
 

sleepstream

Новичок
HraKK
первая ссылка не работает вообще.

А смысл второй таи не понял - перечитал всю эту страничку и на русском и на английском ответатам нет.


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

А что с ссылками делать кто-нибудь знает?
ссылки вида: http://yandex.ru/yandsearch?clid=9582&text=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82+%D0%B4%D1%80%D1%83%D0%B7%D1%8C%D1%8F

ведь некрасиво же выглядит...
 

Фанат

oncle terrible
Команда форума
sleepstream
Есть мнение, что перед тем, как ставить себе задачи, надо сначала немного знаний иметь. Достаточных как для решения задачи, так и для определения её осмысленности. Это как с паровым котлом - если в него не налить воды, то он взорвется. Как твой мозг. Потому что ты думаешь над проблемой, не налив в него знаний.

И если тебе говорят, что задача не имеет смысла, то лучше к этому прислушаться. Если уж у самого не хватает ни знаний, ни даже умения написать в яндексе "расшифровка запросов яндекса". Логично?
Практическая адача, которую ты описал, не нуждается в таком уточнении данных.
Если же это просто гимнастика для ума, то, во-первых, глупо просить других делать твою гимнастику за тебя (все равно что решать головоломку для удовольствия и просить других её решить), а, во-вторых - не лучше ли заняться чем-то более полезным и осмысленным?
А если так уж хочется получить овтет на свой вопрос, то не лучше ли озаботиться получением знаний? Почитай, как устроен протокол HTTP. Вынесешь для себя много полезного.

HraKK
Сессии для учета посетителей - это очевидный перебор. И уж тем более - без кук.
 

sleepstream

Новичок
По всей видимости вы очень умный и с большим опытом который вам достался от рождения.
Упрекнуть меня в отсутствии немного кол-ва знаний нельзя, ранее вы еще писали что надо знаний набираться, в этом упрекнуть меня тоже нельзя.
Теперь я бы Вам рекомендовал сами попробывать набрать строку
в яндексе "расшифровка запросов яндекса"
и тогда Вы может быть заметите, что данная задача не очень просто решается через Яндекс.

Очень заинтересовала Ваша фраза
Практическая задача, которую ты описал, не нуждается в таком уточнении данных.
что Вы имели в виду под уточнением данных? может мне нехватает воды в котле, чтобы понять.... может быть Вы поделитесь опытом?

Конечно в вашем посте я извлек для себя несколько полезных вещей.

Однако хочу заметить, что вы сразу сдались и подтвердили, что задача не имеет смысла. Хотя мне казалось что Ваш опыт должен был дать ответ на поставленную задачу.
Учитывая что она вполне логична:
1. я хочу знать откуда и куда переходят пользователи в пределах моего сайта.
2. необходимо различать разных пользователей на сайте за все время их существования
3. необходимо выводить запросы по которым пользователи выходят на мой сайт.

все вышеперечисленное осуществить без сессий и куков.

для первого варианта нашел решение в виде пары значений браузер ip как идентификатор пользователя и замена для сессий с куками. принял за сессию клики пользователя по ссылкам в пределах 15 минут, т.е. визит пользователя на сайт считается единственным если между его переходами прошло не более 15 минут. тут же и реализация второго пункта.

на счет третьего пока ищу информацию, хотелось бы чтобы знающий человек вроде ***** подсказал что и как.

теперь: следующая задача, пользователь определяется по паре значений браузер и ip таких пользователей при заходе на сайт вне локальной сетки может быть сколько угодно. и тут возникает вопрос как в таком случае идентифицировать разных пользователей

HraKK
Сессии для учета посетителей - это очевидный перебор. И уж тем более - без кук.
На мой взгляд решение первой задачи вполне отлично решается сессиями и решается самым правильным образом. так что в чем перебор в данной ситуации я не вижу. Конечно если куки отрублены то сессии - бесполезны.


Вообще сказал бы ты что-то дельное, а то вроде бы мозги есть, а подсказать ничего дельного не можешь!
 

Ravanger

Новичок
Ув. sleepstream

есть такая мудрость - "тот кто хочет- ищет возможности, тот кто не хочет - ищет причины", в данном треде вам уже ответили на все вопросы которые вас интересовали, заминка в том что, Вы НЕ хотите читать, а хотите чтоб кто-то написал, "чувак, для того чтоб понять по какому запросу пришли с яндекса надо заюзать urldecode". На самом то деле
Почитай, как устроен протокол HTTP. Вынесешь для себя много полезного.
это и есть ответ на ваш, серьезный и глубоко осмысленный вопрос. И выполнив эту рекомендацию Вам больше не прийдется раздражать "умных людей с большим опытом" бегая как собачка на форум за каждой косточкой

PS. Мозг от бездействия не взрывается
 

Фанат

oncle terrible
Команда форума
Во-первых, убери из своих текстов оффтопик. Если я говорю, что у тебя знаний нет - значит, это так и есть. И не надо на это обижаться и обсуждать. И тем более - мою персону. Чайники которые берутся судить о дельности ответов, меня раздражают.
Во-вторых, убери из текстов "я хочу". Ты не в ресторане, а собеседники твои не официанты. Если ты чего-то хочешь, это не значит, что все сразу кинутся твое желание исполнять. Поэтому будь готов изменять свои желания на основании реальности и знаний. Не всякая задача, которую ставит дурак, нуждается в том, чтобы её решали мудрецы.

В-третьих, желательно, чтобы ты внимательно читал обращенный к тебе текст, причем учитывая контекст предыдущего обсуждения.

1. я хочу знать откуда и куда переходят пользователи в пределах моего сайта.
2. необходимо различать разных пользователей на сайте за все время их существования
3. необходимо выводить запросы по которым пользователи выходят на мой сайт.
все вышеперечисленное можно реализовать не только без сессий и кук, но и без первоначального вопроса, с которым ты пришел на форум - как определить пользователя точнее, чем по сочетанию айпи адреса и определенных НТТР заголовков.
Именно это я и имел в виду, когда писал то, про что ты подумал, будто я "сдался".
Первое делается на основании анализа логов посещений.
Второе делается примерно с помощью айпи адреса.
Третье делается никакой не расшифровкой, а декодированием. Разумеется, никто ничего ни от кого не шифрует, и делает это не яндекс, а браузер, который отправляет ему твой запрос. И человек, обладающий минимальным опытом программирования, соразу догадается, что каждый символ явно кодируется двумя символами, которые выглядят, как шестнадцатеричный код. Который можно трактовать, как код символа алфавита. И получить искомую строку.
можно, так же, обладать минимальным опытом работы с пхп, и знать функцию urlencode, которая делает именно тот "шифр", который тебя так затрудняет. И нетрудно догадаться о существовании обратной функции декодирования

-~{}~ 21.10.08 13:01:

если кодируется не двумя, а четырьмя символами - это значит, что запрос в юникоде. как раскодировать, читаем в разделе "Впорос-ответ"

-~{}~ 21.10.08 13:02:

следующая задача, пользователь определяется по паре значений браузер и ip таких пользователей при заходе на сайт вне локальной сетки может быть сколько угодно.
может. ну и что?
 

sleepstream

Новичок
*****
Ну вообще что вы так беситесь:)
если мне захотелось узнать я узнаю, но спасибо за небольшую подсказку, не отрицаю, узнал несколько новых вещей.
 
Сверху