Уведомления

Группа в Telegram: @pythonsu

#1 Май 15, 2008 19:42:55

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

beaker.session

Помогите настроить длительность сейсии. Вроде как есть параметр beaker.session.cookie_expires, но как его заюзать не ясно…



Офлайн

#2 Май 15, 2008 20:12:48

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

beaker.session

что-то типа

### yourapp.config.environment
import datetime
def load_environment(global_conf, app_conf):

cookie_expires = int(global_conf)
config = datetime.timedelta(cookie_expires)

ну и в конфиге в глобальных настройках:

beaker.session.cookie_expires_in_days = 14



Офлайн

#3 Май 15, 2008 21:42:58

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

beaker.session

j2a
что-то типа

### yourapp.config.environment
import datetime
def load_environment(global_conf, app_conf):

cookie_expires = int(global_conf)
config = datetime.timedelta(cookie_expires)

ну и в конфиге в глобальных настройках:
beaker.session.cookie_expires_in_days = 14
Угу, я так пробовал. Протупил малех. Куки старые не удалял) А они оказывается не заменяются при новом логине) Спасибо!



Отредактировано (Май 15, 2008 21:44:27)

Офлайн

#4 Май 22, 2008 09:44:28

ingvar
От:
Зарегистрирован: 2008-04-04
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

beaker.session

Народ, большая просьба просвятить немного по архитектуре beaker.session:

Я так понимаю используется “Cookie Sessions” по умолчанию?

Основная “фича” beaker.session, что сессионные куки (в том числе и для идентификации пользователя) нигде не хранятся, а передаются на сервер в http-пакете? Тогда как происходит отслеживание длительности сессий и как защищаться от подмены http-пакетов?

Ключь для шифрования и снятия “хэша” - “beaker.session.secret”?

В доках (http://wiki.pylonshq.com/display/beaker/Cookie-Only+Sessions) написано, что для шифрования используется пакет pycryptopp, но я его нигде не обнаружил в исходниках?

Извините, за может примитивные вопросы, но по докам и исходникам копать нет пока времени.



Отредактировано (Май 22, 2008 12:45:23)

Офлайн

#5 Май 22, 2008 12:30:29

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

beaker.session

ingvar
Народ, большая просьба просвятить немного по архитектуре beaker.session:

Я так понимаю используется “Cookie Sessions” по умолчанию?

Основная “фича” beaker.session, что сессионные куки (в том числе и для идентификации пользователя) нигде не хранятся, а передаются на сервер в http-пакете? Тогда как происходит отслеживание длительности сессий и как защищатся от подмены http-пакетов?

Ключь для шифрования и снятия “хэша” - “beaker.session.secret”?

В доках (http://wiki.pylonshq.com/display/beaker/Cookie-Only+Sessions) написано, что для шифрования используется пакет pycryptopp, но я его нигде не обнаружил в исходниках?

Извините, за может примитивные вопросы, но по докам и исходникам копать нет пока времени.
Бардак в моей голове © Александр Васильев

Обычно сессионные данные (чаще всего - что-то типа словаря) хранятся на стороне сервера, а на стороне клиента в куках – некий хеш, по которому можно вытянуть данные сессии из хранилища на сервере. Здесь, видимо, ты говоришь о том, что в Beaker 0.9 появились cookie-only сессии, когда все данные сессии хранятся в куки у клиента. Чтобы избежать подмены используют цифровую подпись (опция beaker.session.validate_key). Чтобы избежать перехвата данных – используют шифрование (опция beaker.session.encrypt_key). Как ты искал импорт pycryptopp и в какой версии, я не знаю, но в 0.9.4 находится тривиально грепом (hint: session.py:16).

P.S. В Beaker по дефолту обычные сессии, не cookie-only



Отредактировано (Май 22, 2008 12:41:31)

Офлайн

#6 Май 22, 2008 13:06:07

ingvar
От:
Зарегистрирован: 2008-04-04
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

beaker.session

j2a
ingvar
Народ, большая просьба просвятить немного по архитектуре beaker.session:

Я так понимаю используется “Cookie Sessions” по умолчанию?

Основная “фича” beaker.session, что сессионные куки (в том числе и для идентификации пользователя) нигде не хранятся, а передаются на сервер в http-пакете? Тогда как происходит отслеживание длительности сессий и как защищатся от подмены http-пакетов?

Ключь для шифрования и снятия “хэша” - “beaker.session.secret”?

В доках (http://wiki.pylonshq.com/display/beaker/Cookie-Only+Sessions) написано, что для шифрования используется пакет pycryptopp, но я его нигде не обнаружил в исходниках?

Извините, за может примитивные вопросы, но по докам и исходникам копать нет пока времени.
Бардак в моей голове © Александр Васильев

Обычно сессионные данные (чаще всего - что-то типа словаря) хранятся на стороне сервера, а на стороне клиента в куках – некий хеш, по которому можно вытянуть данные сессии из хранилища на сервере. Здесь, видимо, ты говоришь о том, что в Beaker 0.9 появились cookie-only сессии, когда все данные сессии хранятся в куки у клиента. Чтобы избежать подмены используют цифровую подпись (опция beaker.session.validate_key). Чтобы избежать перехвата данных – используют шифрование (опция beaker.session.encrypt_key). Как ты искал импорт pycryptopp и в какой версии, я не знаю, но в 0.9.4 находится тривиально грепом (hint: session.py:16).

P.S. В Beaker по дефолту обычные сессии, не cookie-only
Ага, такую архитектуру я по джанго понял, там “некий хеш” - это session_id, а “сессионные данные” хранятся в БД.
Думал в Pylons точно такая же схема, НО:
1. Не обнаружил файлов/таблиц БД, хранящих “сессионные данные”…остается сам процесс paster-а
2. Ставим простой эксперимент: Пускаем сервер “paster serve …” (он же веб-сервер), браузер, запрос на сервер , контроллером сохраняем в словаре сессии переменную, грохаем процесс сервера, запускаем сервер, новый запрос на сервер…контроллер говорит, что такая переменная в сессии уже есть…ОТКУДА?



Отредактировано (Май 22, 2008 13:11:02)

Офлайн

#7 Май 22, 2008 20:43:16

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

beaker.session

ingvar
1. Не обнаружил файлов/таблиц БД, хранящих “сессионные данные”…остается сам процесс paster-а
Плохо искал. Обычно это каталог data рядом с конфигом (см. в конфиге cache_dir и beaker.session.data_dir).



Отредактировано (Май 22, 2008 20:43:44)

Офлайн

#8 Май 23, 2008 05:05:50

ingvar
От:
Зарегистрирован: 2008-04-04
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

beaker.session

j2a
ingvar
1. Не обнаружил файлов/таблиц БД, хранящих “сессионные данные”…остается сам процесс paster-а
Плохо искал. Обычно это каталог data рядом с конфигом (см. в конфиге cache_dir и beaker.session.data_dir).
Ммммм, точно, извините за панику, поторопился и пропустил :)

Все таки придется читать все доки внимательно :)

ЗЫ: j2a, у вас мероприятие намечается http://habrahabr.ru/blog/i_am_clever/42832.html



Отредактировано (Май 23, 2008 06:11:28)

Офлайн

#9 Июнь 11, 2008 23:51:28

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

beaker.session

Возник нехороший глюк :(. Решил применить

import locale
locale.setlocale(locale.LC_ALL,'')
Что бы месяцы были на русском и в итоге дата сейсий ставится перестала :(



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version