Автор Тема: Два вопроса о куки.  (Прочитано 2642 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Два вопроса о куки.
« : 31 Мая 2002, 12:19:17 »
Привет всем!
Подскажите пожалуйста, есть ли какая-нибудь возможность узнать, разрешены ли на клиентском броузере куки? (что-нибудь проще, чем послать ему какой-нибудь тестовый куки и проанализировать, пришёл ли он при следующем обращении).
Может это как-то возможно через переменные среды, или ещё что-нибудь?

И второй вопрос.
У сильно не хочеться каждый раз самому генерировать дату истечения куки, типа "expires=Wed, 29-May-2002 18:00:00", т.е. самому надо вычислять дату, прибавлять к ней кол-во дней или часов. Есть ли возможность как-то сказать серверу, например +2 часа от текущей даты и.т.д.
Модули CGI и TIME подключать не хочу, чтобы сделать скрипт более быстродействующим, из-за этого прихидиться всё делать руками.
Большое спасибо.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Два вопроса о куки.
« Ответ #1 : 31 Мая 2002, 13:01:00 »
Цитировать
что-нибудь проще, чем послать ему какой-нибудь тестовый куки и проанализировать, пришёл ли он при следующем обращении

ИМХО другой возможности не существует.
Цитировать
Есть ли возможность как-то сказать серверу, например +2 часа от текущей даты и.т.д.

А сервер то тут при чем? У тебя скрипт обрабатывает значения времени полученные от сервера и посылает клиенту.

Обрати внимание на CGI::Cookie, может что полезное найдешь.
The documentations is your friend

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Два вопроса о куки.
« Ответ #2 : 31 Мая 2002, 14:18:24 »
Цитировать
А сервер то тут при чем? У тебя скрипт обрабатывает значения времени полученные от сервера и посылает клиенту.

Ну да, ошибся немного, хотел сказать, отправить клиенту куки с датой истечения "текущее время + 2 часа".
Или дата истечения, как уже писал только в следующем формате может быть "expires=Wed, 29-May-2002 18:00:00" ?

Цитировать
Обрати внимание на CGI::Cookie, может что полезное найдешь.

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

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Два вопроса о куки.
« Ответ #3 : 31 Мая 2002, 18:16:48 »
И много хочешь выиграть без подключения модулей?
Ну к чему все это, лучше бы водки выпили...

  • Гость
Два вопроса о куки.
« Ответ #4 : 04 Июня 2002, 11:56:40 »
Цитировать
И много хочешь выиграть без подключения модулей?

Не нужно будет каждый раз файлы открывать. Это ведь уже дисковые операции, медленные и нагружают зазря системы. Если есть возможность без модулей обойтись - я предпочитаю обходиться.
А что, может я не прав?

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Два вопроса о куки.
« Ответ #5 : 04 Июня 2002, 11:59:18 »
Это я был, не заметил, что не зарегистрировался

  • Гость
Два вопроса о куки.
« Ответ #6 : 16 Июня 2002, 13:05:40 »
1 что касется разрешено или нет: если юзер у тебя с html  переходит на скрипт, ты можешь мета тегом прописать куку без экспайерса, а скрипт потом просмотрит, определит и потребует включить в случае чего (в %ENV такой инфы по моему нет, ты сможешь только прочитать послано или нет $ENV{HTTP_COOKIE} - Сам знаешь,  нефиг учить)

2. По поводу экспайерса: так ведь, блин, причем тут модули. Вытаскиваешь без всяких там модулей встроенной функцией time настоящее время, добавляешь сколько надо - например час (секунд в часе), и переводишь эту хню с помощью встроенной localtime():

$time=time + 3600;
$time=localtime($time);
 ну а потом - по стандарту приводишь это в божеский вид и пишешь в куку.

Можете кинуть в меня тухлым помидором если я не прав.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28