Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос специалистам / 15 сообщений из 15, страница 1 из 1
04.09.2007, 01:03
    #34773072
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Здраствуйте. Помогите разобраться.
Клиент получает asp файл в котором стоит установка кукисы
Код: plaintext
1.
2.
3.
4.
5.
6.
strBrandID =  1 
strValue = "symbols"

Response.Cookies("T1" & strBrandID).Expires = DateAdd("d",  1 , now)
Response.Cookies("T1" & strBrandID).Secure = False
Response.Cookies("T1" & strBrandID) = strValue

Когда дата юзера и сервера совпадают грубо говоря все нормально. А вот если юзер ставит у себя локально дату на год больше скажем то получается что дальше, в другом файле, который берет значение это й кукисы, ее уже не существует. Смотрел, получется из-за того что если юзер ставит дату на год больше то кука всеравно создается той датой которая на серваку + 1 день.
Думал впихнуть вместо asp установки кукисы javascript установку, типа так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
strBrandID =  1 
strValue = "symbols"

Response.Write "<script language=""JavaScript"">"
Response.Write "var expireDate = new Date;"
Response.Write "expireDate.setDate(expireDate.getDate()+1);"

Response.Write "document.cookie = ""T1" & strBrandID & "=" & Server.HTMLEncode(strValue) & ";expires="" + expireDate.toGMTString() + "";path=/;domain=some.domain.com"";"
Response.Write "</script>"

Так тож вроди устанавливает кукису но вот во втором файле когда берется значение ее, опять етой куки уже нету. Берется там asp кодом.
Подскажите плз. как заставить устанавливаться дату кукисы так, чтобы если даже юзер менял свою локальную дату на год вперед, кукисы срабатывали, тоисть их время жизни правильно опреедлялось?
...
Рейтинг: 0 / 0
04.09.2007, 11:01
    #34773614
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Неужели никто с такой ситуацией не стыкался?
...
Рейтинг: 0 / 0
04.09.2007, 13:03
    #34774215
ambarka_max
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
непонятна логика.
ты сам устанавливаешь время жизни на 1 день, а хочешь чтобы куки существовали больше года.
...
Рейтинг: 0 / 0
04.09.2007, 14:44
    #34774656
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
я о том что если на сервере стоит 2007 год а на клиенте 2008 то когда клиент получает asp странику то эта кука уже мертва получается, потому что время ее жизни ставилось с времени сервера
...
Рейтинг: 0 / 0
04.09.2007, 15:21
    #34774809
ambarka_max
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
по идее яваскрипт должен нормально куки сделать.

нужно убедиться что cookie файлы созданные на клиенте по первому и второму методу - идентичны по всем параметрам кроме времени.
...
Рейтинг: 0 / 0
04.09.2007, 15:26
    #34774831
ambarka_max
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
кстати думаю тебе все портит Server.HTMLEncode(strValue) - потому что там точки с запятой в результате появляются, а это как раз делимитер у кукисов.
сделай какнибудь так: "escape(' " & strValue & " ')"
...
Рейтинг: 0 / 0
04.09.2007, 15:43
    #34774923
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Получается так: когда делаю куку asp методом то получается значение куки как после Server.HTMLEncode(strValue) а когда делаю скриптом то все символы так и остаются в символьном виде, не преобразованы в %... А так в принципе все поля куки одинаковы. Только чето после установки скриптом куки она теряется дальше если есть переход
...
Рейтинг: 0 / 0
04.09.2007, 15:49
    #34774945
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Пробувал и с escape делать, всеравно кука исчезает при переходе дальше. Уже даж варианты закончились.
Если я правильно понимаю процесс: на сервере обрабатывается асп код и формируется отклик клиенту. Сервер этот отклик бросает клиенту в бровзер. Вот когда куки ставить асп методом то они поставятся с начальной датой которая будет равна дате на сервере. А нужно чтобы куки формировались с клиентской датой. Получается так:
- page1.asp -тут устанавливаются куки (асп или скриптовым методом)
- потом юзер жмет на єтой странице батон и идет редирект на другую страницу
- page2.asp - тут как-раз с помощью асп подхода берется значение выше поставленой куки и анализируется.
Когда закомитить редирект на первой странице то кука вроди правильно устанавливается. А когда с редиректом, то при взятиии значения куки в page2.asp там пусто, тоисть куки самой нету
...
Рейтинг: 0 / 0
04.09.2007, 15:58
    #34774994
ambarka_max
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
sancomaКогда закомитить редирект на первой странице то кука вроди правильно устанавливается. А когда с редиректом, то при взятиии значения куки в page2.asp там пусто, тоисть куки самой нету
вот где-то здесь собака порылась.
нужно убедиться что сработал тот кусок кода javascript на клиенте. тем же алертом.
...
Рейтинг: 0 / 0
04.09.2007, 16:08
    #34775058
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Я знаю что тут где-то проблемка. Получается тот скрипт не срабатывает, и когда идет редирект на вторую страницу то куки ж и нету. Токо чето отследить как-то не получается, почему скрипт может не срабатывать перед редиректом, вот это не знаю
...
Рейтинг: 0 / 0
04.09.2007, 16:27
    #34775174
ambarka_max
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
если у тебя в 1.asp будет так
Код: plaintext
1.
2.
3.
4.
...
Response.Write string_with_client_js
...
Response.Redirect("2.asp")
то сервер не_отправит браузеру результат выполнения "1.asp" а отправит HTTP заголовок, что его редиректят на "2.asp", соответственно браузер не получит код javascript и не установит кукисы, а будет ждать резултьтатов работы скрипта 2.asp
...
Рейтинг: 0 / 0
04.09.2007, 16:29
    #34775187
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Да, вот оно, так и получается, в самую точку. И что делать теперь, выхода нет - асп установкой куки ставятся не правильно (время сервера), скриптовым подходом тож получается не выйдет, так как он перед редиректом не выполниться?
...
Рейтинг: 0 / 0
04.09.2007, 16:33
    #34775206
ambarka_max
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
выход по моему в том, чтобы разместить js по установке кукисов в том месте, где отображается html-форма для пользователя, тоесть "до" работы сценария где происходит редирект.
...
Рейтинг: 0 / 0
04.09.2007, 16:35
    #34775215
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
врятли так получиться. Попробую, спасиб
...
Рейтинг: 0 / 0
04.09.2007, 17:18
    #34775388
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос специалистам
Кстати а если такой метод: установка кукисы будет асп методом только там где ставиться
Код: plaintext
1.
Response.Cookies("T1" & strBrandID).Expires = DateAdd("d",  1 , now)
взять эту дату которая берется функцией now() с помощью скрипта?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос специалистам / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]