Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 18.11.2008
Сообщений: 104
1

Как узнать, откуда пришел посетитель?

02.02.2010, 15:11. Показов 3005. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть чУдные функции javascript:

document.referrer - показывает страницу, с которой пришли

history.go(-1)

А могу ли я из этого history.go узнать сам УРЛ, а не просто перейти назад? А еще лучше все УРлы (от history.go(-1) до history.go(-ххх))?

Есть ли такие функции в vbscript?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2010, 15:11
Ответы с готовыми решениями:

Как узнать, откуда пришел посетитель?
Подскажите, можно ли при регистрации клиента на сайте (заполнении им формы) как-то узнавать и...

Как узнать откуда пришел человек?
Какая функция позволяет узнать URL - откуда пришел человек на страницу. Спасибо.

Узнать подробности о клиенте - куда и откуда пришел
Привет. Пишу счетчик о клиентах и хочу знать имя хоста и страницу откуда они приходят. Как сие...

Как определить откуда пришел юзер?
Как определить откуда пришел посетитель не используя HTTP_REFERER (например, если он до этого...

10
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
02.02.2010, 15:25 2
history Object

----------------------------------------------------------------------

Contains information about the URLs visited by the client.

Remarks

For security reasons, the history object does not expose the actual URLs in the browser history. It does allow navigation through the browser history by exposing the back, forward, and go methods. A particular document in the browser history can be identified as an index relative to the current page. For example, specifying -1 as a parameter for the go method is the equivalent of clicking the Back button.
0
0 / 0 / 0
Регистрация: 18.11.2008
Сообщений: 104
02.02.2010, 15:41  [ТС] 3
Другими словами, actual URLs я не смогу узнать?
А другие пути решения проблемы есть?
0
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
02.02.2010, 15:51 4
Как вариант сходу: грузи текущий локейшн во врейм (скрытый или iframe), возвращай этот фрейм назад и смотри его локейшн. Если получится расскажи.
0
0 / 0 / 0
Регистрация: 18.11.2008
Сообщений: 104
02.02.2010, 16:00  [ТС] 5
Не понял.
0
0 / 0 / 0
Регистрация: 18.11.2008
Сообщений: 104
07.02.2010, 09:21  [ТС] 6
Тут дело вот в чем. Пользователь приходит на мой сервер по ссылке (чаще с Яндекса), некоторое время ходит по ссылкам внутри сайта, и в конце-концов запрашивает (во всяком случае, этого хотелось бы) дополнительную инфу. И мне хотелось бы знать первую ссылку, с которой он пришел, причем желательно с параметрами, то есть ключевым словом, по которому он меня нашел. Можно с помощью document.referrer записать ссылку куда-нибудь в Кукис, а в нужный момент вытащить оттудова, или таскать за собой в скрытой форме по всем страницам, но это не слишком красивые способы - зачем лишний траффик молотить?

pl, не понял твоей мысли насчет фреймов?
0
0 / 0 / 0
Регистрация: 22.01.2009
Сообщений: 28
07.02.2010, 10:20 7
Скачай мою систему (www.qtracker.ru) и посмотри, как можно реализовать.

Как вариант, можешь взять Request.ServerVariables('HTTP_REFERER') сравнить кому пренадлежит ссылка, твоему сайту или чужому, если принадлежит интересуещему тебя серваку, то выдрать поисковые слова, перекодировать в нормальный вид и сохранить в базе, а пользователю выдать куку без времени жизни, что бы при следуещем его заходе ты мог опять посмотреть, откуда он пришел. Правда там еще несколько условий нужно учитывать, в общем, все зависит от того, что именно ты навернуть хочешь
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
07.02.2010, 10:55 8
Что мешает сохранить это строку в переменную сессии?
0
0 / 0 / 0
Регистрация: 22.01.2009
Сообщений: 28
07.02.2010, 11:30 9
Да без разницы, только не строку, а ID
0
0 / 0 / 0
Регистрация: 18.11.2008
Сообщений: 104
07.02.2010, 15:05  [ТС] 10
В принципе, меня устроит и вариант, когда я сразу записываю refferer в базу... Наверно, и стоит этим ограничиться, еслинельзя уж history.go посмотреть...

Кстати, а как мне яндексовские параметры в удобочитаемый вид преобразовать?
0
0 / 0 / 0
Регистрация: 22.01.2009
Сообщений: 28
08.02.2010, 10:42 11
Посмотри в сорсах моей системы, там реализовано примерно так:

sReferer = Request.ServerVariables('HTTP_REFERER')

FUNCTION GetDecodeSearchText(sName)
ChrWord = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЭЪЮЯабвгдеёжзийклмнопрстуфхцчшщыьэъюяABCDEFGHIJKLM NOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
ChrSymbol = ' !''#$%&'()*+,-./0123456789:;<=>?@[]^_`{|}~‰S‹‘’“”•–—™¦§©¬®°±µ¶№'

WordArrayUtf1 = Array('%d0%90','%d0%91','%d0%92','%d0%93','%d0%94','%d0%95','%d0%81','%d0%96','% d0%97','%d0%98','%d0%99','%d0%9a','%d0%9b','%d0%9c','%d0%9d','%d0%9e','%d0%9f',' %d0%a0','%d0%a1','%d0%a2','%d0%a3','%d0%a4','%d0%a5','%d0%a6','%d0%a7','%d0%a8', '%d0%a9','%d0%ab','%d0%ac','%d0%ad','%d0%aa','%d0%ae','%d0%af','%d0%b0','%d0%b1' ,'%d0%b2','%d0%b3','%d0%b4','%d0%b5','%d1%91','%d0%b6','%d0%b7','%d0%b8','%d0%b9 ','%d0%ba','%d0%bb','%d0%bc','%d0%bd','%d0%be','%d0%bf','%d1%80','%d1%81','%d1%8 2','%d1%83','%d1%84','%d1%85','%d1%86','%d1%87','%d1%88','%d1%89','%d1%8b','%d1% 8c','%d1%8d','%d1%8a','%d1%8e','%d1%8f')
WordArrayUtf2 = Array('%D0%90','%D0%91','%D0%92','%D0%93','%D0%94','%D0%95','%D0%81','%D0%96','% D0%97','%D0%98','%D0%99','%D0%9A','%D0%9B','%D0%9C','%D0%9D','%D0%9E','%D0%9F',' %D0%A0','%D0%A1','%D0%A2','%D0%A3','%D0%A4','%D0%A5','%D0%A6','%D0%A7','%D0%A8', '%D0%A9','%D0%AB','%D0%AC','%D0%AD','%D0%AA','%D0%AE','%D0%AF','%D0%B0','%D0%B1' ,'%D0%B2','%D0%B3','%D0%B4','%D0%B5','%D1%91','%D0%B6','%D0%B7','%D0%B8','%D0%B9 ','%D0%BA','%D0%BB','%D0%BC','%D0%BD','%D0%BE','%D0%BF','%D1%80','%D1%81','%D1%8 2','%D1%83','%D1%84','%D1%85','%D1%86','%D1%87','%D1%88','%D1%89','%D1%8B','%D1% 8C','%D1%8D','%D1%8A','%D1%8E','%D1%8F')

WordArrayWin1 = Array('%c0','%c1','%c2','%c3','%c4','%c5','%a8','%c6','%c7','%c8','%c9','%ca','% cb','%cc','%cd','%ce','%cf','%d0','%d1','%d2','%d3','%d4','%d5','%d6','%d7','%d8 ','%d9','%db','%dc','%dd','%da','%de','%df','%e0','%e1','%e2','%e3','%e4','%e5', '%b8','%e6','%e7','%e8','%e9','%ea','%eb','%ec','%ed','%ee','%e 5','%26','%27','%28','%29','%2A','%2B','%2C','%2D','%2E','%2F','%30','%31','%32' ,'%33','%34','%35','%36','%37','%38','%39','%3A','%3B','%3C','%3D','%3E','%3F',' %40','%5B','%5C','%5D','%5E','%5F','%60','%7B','%7C','%7D','%7E','%89','%8A','%8 B','%91','%92','%93','%94','%95','%96','%97','%99','%A6','%A7','%A9','%AC','%AE' ,'%B0','%B1','%B5','%B6','%B91')

FOR i = 0 TO 65
sName = Replace(sName,WordArrayUtf1(i),Mid(ChrWord,i+1,1))
sName = Replace(sName,WordArrayUtf2(i),Mid(ChrWord,i+1,1))
NEXT

FOR i = 0 TO 117
sName = Replace(sName,WordArrayWin1(i),Mid(ChrWord,i+1,1))
sName = Replace(sName,WordArrayWin2(i),Mid(ChrWord,i+1,1))
NEXT

FOR i = 0 TO 63
sName = Replace(sName,SymbolArray1(i),Mid(ChrSymbol,i+1,1))
sName = Replace(sName,SymbolArray2(i),Mid(ChrSymbol,i+1,1))
NEXT

GetDecodeSearchText = sName
END FUNCTION

FUNCTION GetDecodeSearchTextY(sName)
ChrWord = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЭЪЮЯабвгдеёжзийклмнопрстуфхцчшщыьэъюя'
ChrSymbol = ' !''#$%&'()*+,-./0123456789:;<=>?@[]^_`{|}~‰S‹‘’“”•–—™¦§©¬®°±µ¶'

WordArrayKoi1 = Array('%25e1','%25e2','%25f7','%25e7','%25e4','%25e5','%25b3','%25f6','%25fa','% 25e9','%25ea','%25eb','%25ec','%25ed','%25ee','%25ef','%25f0','%25f2','%25f3','% 25f4','%25f5','%25e6','%25e8','%25e3','%25fe','%25fb','%25fd','%25f9','%25f8','% 25fc','%25ff','%25e0','%25f1','%25c1','%25c2','%25d7','%25c7','%25c4','%25c5','% 25a3','%25d6','%25da','%25c9','%25ca','%25cb','%25cc','%25cd','%25ce','%25cf','% 25d0','%25d2','%25d3','%25d4','%25d5','%25c6','%25c8','%25c3','%25de','%25db','% 25dd','%25d9','%25d8','%25dc','%25df','%25c0','%25d1')
WordArrayKoi2 = Array('%25E1','%25E2','%25F7','%25E7','%25E4','%25E5','%25B3','%25F6','%25FA','% 25E9','%25EA','%25EB','%25EC','%25ED','%25EE','%25EF','%25F0','%25F2','%25F3','% 25F4','%25F5','%25E6','%25E8','%25E3','%25FE','%25FB','%25FD','%25F9','%25F8','% 25FC','%25FF','%25E0','%25F1','%25C1','%25C2','%25D7','%25C7','%25C4','%25C5','% 25A3','%25D6','%25DA','%25C9','%25CA','%25CB','%25CC','%25CD','%25CE','%25CF','% 25D0','%25D2','%25D3','%25D4','%25D5','%25C6','%25C8','%25C3',&q SearchMachine = 'Google'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, 'yahoo.') THEN
IF InStr(sReferer, 'p=') THEN
sSearchMachine = 'Yahoo!'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'p=','&'))
END IF
ELSEIF InStr(sReferer, 'aol.') THEN
IF InStr(sReferer, 'query=') THEN
sSearchMachine = 'AOL'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'query=','&'))
END IF
ELSEIF InStr(sReferer, 'altavista.') THEN
IF InStr(sReferer, 'q=') THEN
sSearchMachine = 'AltaVista'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, 'msn.') THEN
IF InStr(sReferer, 'q=') THEN
sSearchMachine = 'MSN'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, 'lycos.') THEN
IF InStr(sReferer, 'query=') THEN
sSearchMachine = 'Lycos'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'query=','&'))
END IF
ELSEIF InStr(sReferer, 'punto.') THEN
IF InStr(sReferer, 'text=') THEN
sSearchMachine = 'Punto'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'text=','&'))
END IF
ELSEIF InStr(sReferer, 'alltheweb.') THEN
IF InStr(sReferer, 'q=') THEN
sSearchMachine = 'AllTheWeb'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, 'meta-ukraine.') THEN
IF InStr(sReferer, 'q=') THEN
sSearchMachine = 'МЕТА-Украина'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, 'passagen.') THEN
IF InStr(sReferer, 'q=') THEN
sSearchMachine = 'Passagen'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, 'bzz.') THEN
IF InStr(sReferer, 'kwd=') THEN
sSearchMachine = 'BzZ'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'kwd=','&'))
END IF
ELSEIF InStr(sReferer, 'mail.') THEN
IF InStr(sReferer, 'words=') THEN
sSearchMachine = 'Поиск@Mail.ru'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'words=','&'))
END IF
ELSEIF InStr(sReferer, 'metabot.') THEN
IF InStr(sReferer, 'st=') THEN
sSearchMachine = 'MetaBot'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'st=','&'))
END IF
ELSEIF InStr(sReferer, 'netscape.') THEN
IF InStr(sReferer, 'query=') THEN
sSearchMachine = 'Netscape Search'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'query=','&'))
END IF
ELSEIF InStr(sReferer, 'hotbot.') THEN
IF InStr(sReferer, 'query=') THEN
sSearchMachine = 'HotBot'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'query=','&'))
END IF
ELSEIF InStr(sReferer, 'teoma.') THEN
IF InStr(sReferer, 'q=') THEN
sSearchMachine = 'Teoma'
sSearchText = GetDecodeSearchText(CutSearchText(sReferer,'q=','&'))
END IF
ELSEIF InStr(sReferer, '
0
08.02.2010, 10:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2010, 10:42
Помогаю со студенческими работами здесь

Как узнать что посетитель ушел ?
Зная IP посетителя как узать что он ушел ? И как узнать сколько пользователей сейчас на сайте ?

Как узнать город, в котором находится посетитель сайта по IP?
Ребят, кто знает, подскажите как это сделать или где можно почитать

нужно что бы файлы сайта были доступны только если посетитель пришел с конкретного сайта по ссылке.
У меня такая задача - нужно что бы файлы сайта были доступны только если посетитель пришел с...

Как узнать с какого IP пришел юзер?
Kak uznat kakogo IP prishel user ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru