ASP question

dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

ASP question

Post by dimach »

такая вот незадача
есть сайт, на который указывает куча доменов. соответственно, под каждый домен заведен виртуалный сервер (ибо хоть домены и на один сайт указывают, но в разные места). как бы так исхитрится сделать общее пространство имен для всех них ?
конкретно мне надо бы запомнить реферера, с которого пришли в первый раз на лубой из доменов, с тем, чтобы потом в клиент рекорд этого реферера запихать. да вот беда - Application у всех разный, Session тоже - домены-то разные.
с меня не убудет в базку это все сувать с клучом по remote_addr, но как-то геморройно немного, может можно проще как-нибудь ? типа компонентец сваять ?
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

ASP question

Post by webdeveloper »

Я че то не понял что там у тебя должно делаться. Моежешь еще разок попробовать объяснить, что ты делаешь? Что ты куда должен записывать?
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

ASP question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>Я че то не понял что там у тебя должно делаться. Моежешь еще разок попробовать объяснить, что ты делаешь? Что ты куда должен записывать?</STRONG><HR></BLOCKQUOTE>

дело такое

в иис соданы два виртуальных сервера. на один прописан домен, например, водка.инфо, на другой вкусная-водка.инфо. оба сервера исползуют один каталог (например, c:\inetpub\wwwroot\vodkasite), но default страницы разные

поисковая машына может послать человека на любой из этих сайтов, которые на самом деле один, но с разными точками входа (vodka.info начинается страницей про водку вообще, а vkusnaja-vodka.info открывает раздел про вкусную водку (в этот раздел можно попасть и с vodka.info, но покликав по ссылкам)

когда человек захочет-таки водки купить, надо сохранить исходный урл, с которого он пришел (поисковая машына, каталог и т.п.). но покупка проиcxодит через защищенное соединение на сайте secure.vodka.info - это уже третий виртуалный сервер.
и проблема в том, что если где-то написано что-то вроде

Application(<somekey> )=Request.ServerVariables("HTTP_REFERER")

это выполнится, когда человек зашел на vkusnaja-vodka.info

но при переходе на secure.vodka.info будет работать уже другой вирт. сервер - и нужное Applicatoin(<somekey> ) будет утеряно [img:516126a065]images/smiles/icon_sad.gif[/img:516126a065]

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


простой - в основном значит "без соединения с базой" [img:516126a065]images/smiles/icon_smile.gif[/img:516126a065]

[ 30-10-2001: Message edited by: dimach ]
User avatar
lxf
Уже с Приветом
Posts: 13593
Joined: 04 Jul 2001 09:01
Location: Boston, MA

ASP question

Post by lxf »

Попробуйте через URL-параметры:

<a href="http://secure.vodka.info/?ref=<%=Request.ServerVariables("HTTP_REFERER")%>">Click here to buy your vodka</a>
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

ASP question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by lxf:
<STRONG>Попробуйте через URL-параметры:

<a href="http://secure.vodka.info/?ref=<%=Request.ServerVariables("HTTP_REFERER")%>">Click here to buy your vodka</a></STRONG><HR></BLOCKQUOTE>

ну я же просил простооой [img:c5111f3699]images/smiles/icon_smile.gif[/img:c5111f3699]

конечно, можно через параметер, но

- доменов-то у меня не 2, а 15, и возможных ссылок с одного на другой, да еще не все статические (то есть просто заменой не получится сделать) [img:c5111f3699]images/smiles/icon_sad.gif[/img:c5111f3699]
- особенно афишировать посетителям такие экзорсисы не желательно - как бы чего лишнего не удумали [img:c5111f3699]images/smiles/icon_smile.gif[/img:c5111f3699]


обидно, честное слово. вот она информация вроде - только возьми. ан не берется, сволочь такая [img:c5111f3699]images/smiles/icon_wink.gif[/img:c5111f3699]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

ASP question

Post by webdeveloper »

У меня есть пара идеек, но их в печатном виде долго излогать. Может как нибудь по телефону?

Мои координаты если что здесь - http://garbuz.net
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

ASP question

Post by stockman »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by dimach:
<STRONG>

с сессией та же беда - посколку домены разные, то и сессия начинается своя.
вот и хотелось бы найти *простой* способ как-то данные передать
</STRONG><HR></BLOCKQUOTE>

а)Ну домены тут пожалую не при чем, посколько приложение изолируется не по имени домена, а по физической папке, где хранятся составляющие это приложения файлы, с учетом всех вложенных папок, если они конечно не изолированны. Может вам проще(если сервер конечно ваш) просто снять в настройках IIS изоляцию с приложения работающего под secure.vodka.info и сделать его просто частью общего приложения? Тогда у вас и Application и Session будут общие.

б)можете сделать как советовал lxf, только конечно таскать весь url не обязательно, достаточно просто передавать параметр, который будет индентифицировать откуда они пришли.

в)Ну и наконец что вам мешает сделать еще и secure.vkusnaja-vodka.info и перенаправлять в случае покупки на соответсвующий домен? [img:932e5a58f9]images/smiles/icon_smile.gif[/img:932e5a58f9]

[ 31-10-2001: Message edited by: stockman ]
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

ASP question

Post by Seryi »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by stockman:
<STRONG>

а)Ну домены тут пожалую не при чем, посколько приложение изолируется не по имени домена, а по физической папке, где хранятся составляющие это приложения файлы, с учетом всех вложенных папок, если они конечно не изолированны. Может вам проще(если сервер конечно ваш) просто снять в настройках IIS изоляцию с приложения работающего под secure.vodka.info и сделать его просто частью общего приложения? Тогда у вас и Application и Session будут общие.
</STRONG><HR></BLOCKQUOTE>

Session зависит от cookies, поэтому на разных именах домена всегда будут разные Session.
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

ASP question

Post by webdeveloper »

попробуй iframe 1 на 1 пиксель где нибудь и в него вызывай какой нибудь файл из нужного сервера. Тогда в global.asa будет стартовать сессия и ты получишь свой referer.

Правда я сам такого еще не пробовал, и не знаю как сделать тоже самое в NN 4.0 но я уверен что то можно придумать. Например сделать слой тоже 1*1 пиксель и в него грузить тот же файл.

А можно поэксперементировать через Server.Execute("...") - в этом случае по моему сохраняется доступ к переменным из текущего сеанса.
Stepan
Новичок
Posts: 36
Joined: 23 Mar 1999 10:01
Location: NY

ASP question

Post by Stepan »

а еше можно создать свой аналог session используя uniqueidentifier или что-то подобное из БД - правда сервер БД должен быть шустрый [img:a2cb45ee9e]images/smiles/icon_wink.gif[/img:a2cb45ee9e]
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

ASP question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>попробуй iframe 1 на 1 пиксель где нибудь и в него вызывай какой нибудь файл из нужного сервера. Тогда в global.asa будет стартовать сессия и ты получишь свой referer.

Правда я сам такого еще не пробовал, и не знаю как сделать тоже самое в NN 4.0 но я уверен что то можно придумать. Например сделать слой тоже 1*1 пиксель и в него грузить тот же файл.

А можно поэксперементировать через Server.Execute("...") - в этом случае по моему сохраняется доступ к переменным из текущего сеанса.</STRONG><HR></BLOCKQUOTE>

хех, про картиночки-то я как-то и не подумал...
спасиб.

так примерно и придётсься сделать - вызывать картиночку и засовывать в базку...картиночка хороша тем, что если какая беда с базой, то и пофигу - спокойно далще пойдет [img:bfb7e2344f]images/smiles/icon_smile.gif[/img:bfb7e2344f]

я долго и нудно готовил ответ с цитатами всем, да свинский форум приказал избавится от >8 картинок, и текст про... [img:bfb7e2344f]images/smiles/icon_sad.gif[/img:bfb7e2344f]

так что более кратко:

Stockman
а) какое-такое общее ? они там равноправны [img:bfb7e2344f]images/smiles/icon_smile.gif[/img:bfb7e2344f]
б) ну а откуда ж я раздобуду потом обратное соответствие ?
ц) бюджет мешает. SSL на каждый домен.. ооо... [img:bfb7e2344f]images/smiles/icon_biggrin.gif[/img:bfb7e2344f]

Seryi, Stepan
ну вот в итоге-то к базе и пришли [img:bfb7e2344f]images/smiles/icon_smile.gif[/img:bfb7e2344f]
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

ASP question

Post by Seryi »

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

[ 31-10-2001: Message edited by: Seryi ]
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

ASP question

Post by stockman »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by dimach:
<STRONG>


они второго уровня, вот в чем беда [img:004fea5142]images/smiles/icon_smile.gif[/img:004fea5142]</STRONG><HR></BLOCKQUOTE>

Почему второго то? Давайте определимся с понятиями. Говоря "третий уровень", например, в url http://level3_1.vodka.info я имею ввиду именно "level3_1" Без использования SSL могу гарантировать(с ним просто не пробовал) что при соотвствующей настройке IIS можно добится что бы например в домене третьего уровня "level3_2" url-a http://level3_2.vodka.info можно получить доступ к приложению которое используется в level3_1

Т.е. если у вас все таки решится проблема с установкой сертификата на secure.vkusnaja-vodka.info, то вы получите все что хотели, так как прыгать из одного приложения в другое вы не будете.
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

ASP question

Post by stockman »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Seryi:
<STRONG>

Session зависит от cookies, поэтому на разных именах домена всегда будут разные Session.</STRONG><HR></BLOCKQUOTE>

Ага, сорри. Правда есть одно "но"-на домены третьего уровня это не распространяется. Так что можно запросто, совместив пункты "а" и "в" из того что я предложил раньше, решить проблему полностью.
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

ASP question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by stockman:
<STRONG>

Ага, сорри. Правда есть одно "но"-на домены третьего уровня это не распространяется. Так что можно запросто, совместив пункты "а" и "в" из того что я предложил раньше, решить проблему полностью.</STRONG><HR></BLOCKQUOTE>


они второго уровня, вот в чем беда [img:a259b46cb7]images/smiles/icon_smile.gif[/img:a259b46cb7]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

ASP question

Post by webdeveloper »

Что то я не понял, что ты там про картинки говорил. Я бы вот что сделал,

Взял бы и написал бы что то типа

<iframe src="http://vodka.chegototam.com" width="1" height="1" scrolling="no" frameborder="0"></iframe>

То есть на каждой странице ты будешь вызывать этот файл, таким образом у тебя будет односременно открываться сессия на одном и на другом сайте. Все переменные сессии будут разные но HTTP_REFERER будут одинаковыми. По моему. Вот тогда на том сайте где тебе этот рефер нужен, там ты его и обработаешь. А в ссылке можешь поставить просто HTML файл для скорости. Разницы никакой - главное что бы сессия новая на нужном сервере стартанула.

А вот для нетскейпа нужно сделать тоже самое но используя слой. <layer width="1" height="1" src="http://vodka.chegototam.com">

Расскажи как прошло это все плз.
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

ASP question

Post by stockman »

[QUOTE]Originally posted by dimach:
<STRONG>
а) какое-такое общее ? они там равноправны [img:eebc3f2096]images/smiles/icon_smile.gif[/img:eebc3f2096]
</STRONG>
[/QU0TE]

Сорри, меня уже поправили. Считайте что под "общем" я имел ввиду у secure.vodka.info и vodka.info [img:eebc3f2096]images/smiles/icon_smile.gif[/img:eebc3f2096]

[b:eebc3f2096]
б) ну а откуда ж я раздобуду потом обратное соответствие ?
[/b:eebc3f2096]
О, а тут я сам себя поправлю. Забудьте о том что я предложил. Я изначально невнимательно прочитал о сохранении какого реферера вы говорите.

[b:eebc3f2096]
ц) бюджет мешает. SSL на каждый домен.. ооо... [img:eebc3f2096]images/smiles/icon_biggrin.gif[/img:eebc3f2096]
[/b:eebc3f2096]

Не знал что за это надо платить. Простите мы тут темные в России и редко за что платим [img:eebc3f2096]images/smiles/icon_smile.gif[/img:eebc3f2096]

P.S. Попытаюсь как то реабилитироваться и предположить что вы наверное ошиблись вот с этой строчкой:

Application(<somekey> )=Request.ServerVariables("HTTP_REFERER")

наверное речь шла все таки об
Session(<somekey> )=......
[img:eebc3f2096]images/smiles/icon_smile.gif[/img:eebc3f2096]
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

ASP question

Post by Seryi »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by stockman:
<STRONG>

Ага, сорри. Правда есть одно "но"-на домены третьего уровня это не распространяется. Так что можно запросто, совместив пункты "а" и "в" из того что я предложил раньше, решить проблему полностью.</STRONG><HR></BLOCKQUOTE>

Гм... С каких таких пор не распространяется?
Чтобы не распространялось, кукис должен быть установлен типа так:
Response.C_ook_ies_("xxx").Domain = ".mysecondleveldomain.com"

Кукисы от ИИСовских сешнов не устанавливают .Domain

Подчеркивание вставил потому что сайт почему-то не захотел принимать сообщение.
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

ASP question

Post by stockman »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Seryi:
<STRONG>
Гм... С каких таких пор не распространяется?
....
Кукисы от ИИСовских сешнов не устанавливают .Domain
</STRONG><HR></BLOCKQUOTE>

Это они по rfc не должны устанавливать, однако тесты вчера показали что при определенной настройке(роем с админом в чем дело и пока не нашли причину) еще как проходит ".domain.com"

Я бы вам даже конкретный пример показал, но боюсь меня на работе за это по головке не погладят.
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

ASP question

Post by Seryi »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by stockman:
<STRONG>

Это они по rfc не должны устанавливать, однако тесты вчера показали что при определенной настройке(роем с админом в чем дело и пока не нашли причину) еще как проходит ".domain.com"

Я бы вам даже конкретный пример показал, но боюсь меня на работе за это по головке не погладят.</STRONG><HR></BLOCKQUOTE>


А вы по е-мэйл тогда. Мне очень интересно, так как я такую проблему обошел созданием своего собственного SessionState. Вот прямо сейчас сделал telnet

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 01 Nov 2001 16:13:18 GMT
Connection: Keep-Alive
Content-Length: 1270
Content-Type: text/html
Set-Co_okie: ASPSESSIONIDQGQGQTYQ=CBDBILGDCIDCOJOGNJOCDAFK; path=/
Cache-control: private

Как видите Domain не установлен. Так что это и по стандарту не должно работать. Разве что действительно какие-то хитрые настройки сервера
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

ASP question

Post by dimach »

webdeveloper

картиночка - в смысле вместо фрейма img src=... - для всех броузеров подходит.

будет точечка внизу где-нибудь, ну да и ладно. в некоторых местах уже две есть [img:d0575aa602]images/smiles/icon_smile.gif[/img:d0575aa602]
правда, все равно мне это не слишком нравится - не люблю я разные пытливые умы, сорц страницы любящие посмотреть... ну да на первое время сойдет.

скрипт, который в срц картинки прописан, берет реферер, переданный ему параметром, и засохраняет в базе с пометкою, какой IP с таким реферером пришел (сволочь такая). ну а далше, когда настоящий клиент-рекорд заводится, об этой записи вспомнят кому надо [img:d0575aa602]images/smiles/icon_smile.gif[/img:d0575aa602]

stockman

надо, надо платить довольно крупные сумы в иноземной валюте [img:d0575aa602]images/smiles/icon_wink.gif[/img:d0575aa602]
можно, в принципе, и самому состряпать, но, опять же, не в меру пытливый товарищ посмотрит кем выдан сертификат (а точнее это сам броузер сделает и начнет материться) - и не доверит заветный 16-значный номер такому сайту

нет, именно Applicatoin - куки могут быть отклучены у разных там параноиков. в качестве somekey выступает IP [img:d0575aa602]images/smiles/icon_wink.gif[/img:d0575aa602]

а домены у меня именно второго уровня - vodka.info, lemon-vodka.info (гадость), uncle-iohann-vodka.info (yum-yum) - and so on. и прыгать между ними тоже придется возможно

а про куки очень даже интересно, спасибо - на будущее может пригодится - а сейчас же надо без куков обходиться [img:d0575aa602]images/smiles/icon_sad.gif[/img:d0575aa602]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

ASP question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by dimach:
<STRONG>webdeveloper

картиночка - в смысле вместо фрейма img src=... - для всех броузеров подходит.

будет точечка внизу где-нибудь, ну да и ладно. в некоторых местах уже две есть [img:838e723474]images/smiles/icon_smile.gif[/img:838e723474]
правда, все равно мне это не слишком нравится - не люблю я разные пытливые умы, сорц страницы любящие посмотреть... ну да на первое время сойдет.

скрипт, который в срц картинки прописан, берет реферер, переданный ему параметром, и засохраняет в базе с пометкою, какой IP с таким реферером пришел (сволочь такая). ну а далше, когда настоящий клиент-рекорд заводится, об этой записи вспомнят кому надо [img:838e723474]images/smiles/icon_smile.gif[/img:838e723474]
</STRONG><HR></BLOCKQUOTE>

да, так наверное еще лучше будет

Return to “Вопросы и новости IT”