Безопасное хранение переменных без сеанса в zope

Я хочу хранить значения в переменных для доступа к другой странице (например, управление состоянием).

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

Теперь мои оставшиеся варианты

  1. отправить скрытый входной тег, используя метод POST
  2. Передача URL методом GET
  3. Использование файлов cookie
  4. Использование базы данных (что, как мне кажется, «усложняет простые вещи».)

Я даже не рассматриваю первые 2 метода и считаю использование файлов cookie небезопасным.

Итак, существует ли коммерческий модуль или модуль с открытым исходным кодом, который может безопасно (шифрование и т. д.) управлять файлами cookie.

Если нет, мне придется использовать базу данных.

Пожалуйста, сообщите мне, если я что-то упустил.

Версия - Зопе 2.11.1


person Jibin    schedule 14.06.2011    source источник
comment
Разве вы не усложняете простые вещи, не используя куки? Любая информация о состоянии в браузере требует либо файла cookie, либо скрытой формы, либо переменной URL. Чтобы сделать это должным образом безопасным, вам необходимо управление сеансами (например, сеансы Zope или серверная база данных), чтобы предотвратить изменение этих значений конечным пользователем.   -  person Martijn Pieters    schedule 14.06.2011
comment
Называются ли «сеансовые файлы cookie» сеансовыми, а «постоянные файлы cookie» — файлами cookie? Проверьте это   -  person Jibin    schedule 15.06.2011
comment
Файлы cookie — это файлы cookie, которые могут быть постоянными или нет (в памяти). В этом контексте (этого вопроса) файл cookie сеанса представляет собой уникальное значение, хранящееся в файле cookie, для представления сеанса просмотра, который сервер должен отслеживать. Для этого вы можете использовать постоянные или хранящиеся в памяти файлы cookie. См. управление сеансом.   -  person Martijn Pieters    schedule 15.06.2011


Ответы (1)


Поддержка SESSION, встроенная в Zope 2, фактически сохраняет сеанс во временном разделе ZODB, поэтому я думаю, что на самом деле это действительно для нескольких клиентов Zope, подключающихся к одному и тому же серверу ZEO. Цена этого заключается в том, что все изменения сеанса вызывают механизм транзакций и приводят к фиксации, поэтому просто убедитесь, что вы не используете SESSION в чем-то очень низкоуровневом, таком как аутентификация PAS, иначе у вас будут коммиты, попадающие в вашу ZODB для каждого изображение, файл CSS и файл JS.

person Ross Patterson    schedule 12.08.2011