Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Разница во времени между сервером и клиентом |
Автор: sugee 20.5.2006, 16:15 |
У меня в скрипте авторизации для форума используется такая вещь: при регистрации вычисляется время с точностью до долей секунды (microtime()), потом из логина и времени я получаю хэш, который записывается одновременно в БД и в куку. Потом по этому хэшу который берётся из куки и сравнивается с хэшем записанным в БД, извлекается из базы имя пользователя и присвается переменной сессии. Так вот дома у меня это работает как часы, а на хостинге ну никак. Допёр в чём дело когда обратил внимание на время только что добавленного сообщения. Она на час отличается от реального текущего времени. То есть это и есть реальное время у хостера, просто у нас разница в часовых поясах. Вот и вопрос - как бы мне подправить время? |
Автор: skyboy 20.5.2006, 16:40 |
sugee, прикрути указание часового пояса при регистрации... А в целом - это не есть гуд. А если часы на локальном идут неверно? И отличие - ни час или два, а 48 минут? Или я неверно понял суть проблемы? |
Автор: sugee 20.5.2006, 17:05 | ||
skyboy, тут похоже у меня не одна проблема, а сразу две. Вообще говоря на значения записанные в куку и в базу данных разница в часовых поясах никак не могла повлиять. Вот как это делалось
По любому в куке и в БД должно быть одно и то же. Клиенту же посылается готовая кука, он не может в ней ничего изменить. Но время поправить всё равно нужно, потому-что время отправления у всех постов на час меньше чем должно быть, а это уж точно не есть гуд. Попробую, хотя пока не совсем представляю как это делается. |
Автор: sugee 20.5.2006, 17:25 |
Проще определить время на стороне клиента яваскриптом. А вот что такое с куками - не могу понять. |
Автор: Mal Hack 20.5.2006, 23:13 | ||
Вообще, время тут не должно зависеть. Тебя должен интересовать только интервал неактивности. А так, вообще:
|
Автор: sugee 21.5.2006, 13:43 |
Mal Hack, спасибо, время поправил, но сразу возникает встречный вопрос. Неужели часовой пояс нужно жёстко закреплять в скрипте, а как тогда быть с обитателями других часовых поясов? Если только так как предлагал skyboy, но это не лучший выход. Как например на этом форуме сделано? |
Автор: Mal Hack 21.5.2006, 13:48 |
Тогда делать так, как на форуме. Список из часовых поясов. |
Автор: sugee 21.5.2006, 16:42 |
Но чтобы можно было использовать такой список, надо чттобы при регистрации человек указал своё место жительства, другого способа узнать его нет... Ладно, с этим вроде разобрался, прошу прощения если не всё тут было по теме ![]() |
Автор: skyboy 21.5.2006, 18:22 |
Mal Hack, даже если и вытаскивать системную информацию о местоположении, не факт, что она будет валидной ![]() |
Автор: Mal Hack 21.5.2006, 23:21 |
skyboy, да, это так, но в данном случае можно принебречь, т.к. нормальные пользователи у себя на машине ставят время, соответствующее их реальному часовому поясу. |
Автор: sugee 21.5.2006, 23:49 | ||
Гы, а у меня эта штука заработала, я ничего не делал, просто пошёл прогулятся, потом пришёл, заглянул на свой сайт, а он меня по куке узнал... В чём проблема была так и не понял. Ну ладно, зато узнал много нового. Mal Hack, твоя идея живёт и побеждает, другое дело насколько эффективно я её использую. Но это уже другая тема. |