ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Setcokie в Javascript Нужна помошь Срочно =)
  #1  
Старый 15.07.2009, 20:57
Аватар для Whois
Whois
Banned
Регистрация: 05.05.2009
Сообщений: 42
Провел на форуме:
293979

Репутация: 18
По умолчанию Setcokie в Javascript Нужна помошь Срочно =)

Всем привет, заранее буду признателен за помошь.

Вобщем мне нужно было задать временные куксы, для теста время жизни взял 10 секунд.
На php реализовал это следующим образом:
PHP код:
 setcookie("temporary","blablalbla",time()+10); 
Все хорошо, все работает. Но только в том случае!, КОгда Время на сервере такое е же как и у пользователя на компе. В противном случае будет задан пирожок с неправильным временем жизни.

Чтобы узнать время пользователя пришлось воспользовался javascript. В яваскрипте есть функция gettime - аналог time на php.
Передать переменную из явы в пхп можно (на сколько мне известно) 3 способами:
1. гет запрос
2 пост запрос
3 установить куки
Первые два варианта сразу отбрасываю, т к они требуют обновления страница, остается 3. Гораздо легче задать куки через яву. Собственно тут я и столкнулся спроблемой.
Ниже приведу код:


PHP код:

<SCRIPT LANGUAGE="JavaScript">
function 
setCookie (namevalueexpirespathdomainsecure) {
      
document.cookie name "=" escape(value) +
        ((
expires) ? "; expires=" expires "") +
        ((
path) ? "; path=" path "") +
        ((
domain) ? "; domain=" domain "") +
        ((
secure) ? "; secure" "");
}
</
SCRIPT>

<
SCRIPT LANGUAGE="JavaScript">
setCookie("foo""bar""Mon, 01-Jan-2010 00:00:00 GMT""/");
</
SCRIPT
В данном примере в переменной время (expires) нужно указать точное число, а мне же нужно чтобы куки устанавливалось на определенное колиичетсво секунд. Как это сделано в php time()+ секунды. В этом вся и загвостка. Моих знаний не хватает. Буду признателен за помош
 
Ответить с цитированием

  #2  
Старый 15.07.2009, 21:17
Аватар для Whois
Whois
Banned
Регистрация: 05.05.2009
Сообщений: 42
Провел на форуме:
293979

Репутация: 18
По умолчанию

ап ап ап =(((
 
Ответить с цитированием

  #3  
Старый 15.07.2009, 21:33
Аватар для n0reply
n0reply
Новичок
Регистрация: 31.03.2009
Сообщений: 14
Провел на форуме:
97409

Репутация: 6
По умолчанию

PHP код:
<html>
<
head></head>
<
body>
 <
SCRIPT LANGUAGE="JavaScript">
  var 
= new Date( (new Date()).getTime() + 10000 );
  
document.write(d.toString());
 </
SCRIPT>
</
body>
</
html
в d будет хранитсья текущая дата клиента + 10 секунд. (getTime() в милисекундах).
 
Ответить с цитированием

  #4  
Старый 15.07.2009, 21:56
Аватар для Whois
Whois
Banned
Регистрация: 05.05.2009
Сообщений: 42
Провел на форуме:
293979

Репутация: 18
По умолчанию

А СПАСИБО ВЕРИ МАЧ =) ЩАС БУДУ ПРОБОВАТЬ
 
Ответить с цитированием

  #5  
Старый 15.07.2009, 22:27
Аватар для Whois
Whois
Banned
Регистрация: 05.05.2009
Сообщений: 42
Провел на форуме:
293979

Репутация: 18
По умолчанию

чувствуя себя нубом, не могу все совсместить воедино... Нелюблю я яву...может кто поможет?

я делаю так:

PHP код:

 
<SCRIPT LANGUAGE="JavaScript">
function 
setCookie (namevalueexpirespathdomainsecure) {
      
document.cookie name "=" escape(value) +
        ((
expires) ? "; expires=" expires "") +
        ((
path) ? "; path=" path "") +
        ((
domain) ? "; domain=" domain "") +
        ((
secure) ? "; secure" "");
}
</
SCRIPT>

 <
SCRIPT LANGUAGE="JavaScript">
  var 
= new Date( (new Date()).getTime() + 10000 );
  
setCookie("test111""bar""d.toString()""/");
 </
SCRIPT

кукис задается но без времени
 
Ответить с цитированием

  #6  
Старый 15.07.2009, 22:38
Аватар для n0reply
n0reply
Новичок
Регистрация: 31.03.2009
Сообщений: 14
Провел на форуме:
97409

Репутация: 6
По умолчанию

а так:
PHP код:
 <SCRIPT LANGUAGE="JavaScript">
function 
setCookie (namevalueexpirespathdomainsecure) {
      
document.cookie name "=" escape(value) +
        ((
expires) ? "; expires=" expires "") +
        ((
path) ? "; path=" path "") +
        ((
domain) ? "; domain=" domain "") +
        ((
secure) ? "; secure" "");
}
</
SCRIPT>

 <
SCRIPT LANGUAGE="JavaScript">
  var 
= new Date( (new Date()).getTime() + 10000 );
  
setCookie("test111""bar"d.toString(), "/");
 </
SCRIPT
 
Ответить с цитированием

  #7  
Старый 15.07.2009, 22:43
Аватар для Whois
Whois
Banned
Регистрация: 05.05.2009
Сообщений: 42
Провел на форуме:
293979

Репутация: 18
По умолчанию

http://i043.radikal.ru/0907/1c/3bb54faaf3f0.jpg Аналагично, время не задается пачемуТО

Последний раз редактировалось Whois; 15.07.2009 в 22:45..
 
Ответить с цитированием

  #8  
Старый 15.07.2009, 22:56
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

Цитата:
Чтобы узнать время пользователя пришлось воспользовался javascript. В яваскрипте есть функция gettime - аналог time на php.
Передать переменную из явы в пхп можно (на сколько мне известно) 3 способами:
1. гет запрос
2 пост запрос
3 установить куки
Первые два варианта сразу отбрасываю, т к они требуют обновления страница
AJAX не рулед?
JS выставлять куки - извращение
 
Ответить с цитированием

  #9  
Старый 15.07.2009, 22:59
Аватар для Whois
Whois
Banned
Регистрация: 05.05.2009
Сообщений: 42
Провел на форуме:
293979

Репутация: 18
По умолчанию

рулед все.... покажите мне готовое решение... Я сам знаю много способов но силен только в php.... Так что обращаюсь за помощью к вам
 
Ответить с цитированием

  #10  
Старый 15.07.2009, 23:00
Аватар для n0reply
n0reply
Новичок
Регистрация: 31.03.2009
Сообщений: 14
Провел на форуме:
97409

Репутация: 6
По умолчанию

d.toString() я тебе для примера сверху написал, чтобы просто на экран дату вывести, плюс ты ее в кавычки зачем-то заслал.

Видимо проблема с форматом даты в котором выводит ее toString(), возможно этот момент броузро-зависим, проверил щас твой код на FireFox'e, в линуксе, все работает и дата задается.

Попробуй поэксперементируй, вместо toString(): toGMTString(), toLocaleString(), toUTCString(). Вообще посравнивай как твоя опера дату распечатывает. Я так понял
"Mon, 01-Jan-2010 00:00:00 GMT"
с таким вариантом все работает, посмотри насколько toString() от него отличается? Возможно в разных броузерах и вывод будет разный (или даже в разны ОС), и возможно прибется форматировать эту строку вручную строковыми функциями.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ачатовцы СРОЧНО НУЖНА ВАША ПОМОШЬ!!! ZiLiBoBa Болталка 22 30.01.2009 12:29
Ачатовцы СРОЧНО НУЖНА ВАША ПОМОШЬ!!! ZiLiBoBa Windows 2 29.01.2009 21:42
Bypassing JavaScript Filters the Flash! Attack k00p3r Чужие Статьи 0 12.07.2005 16:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ