Подтвердить что ты не робот

Регистрация пользователей с сайта Django после N минут бездействия

Я работаю над веб-сайтом, который требует, чтобы мы регистрировали пользователя после N минут бездействия. Есть ли какие-либо передовые методы для использования Django?

4b9b3361

Ответ 1

Посмотрите на промежуточное программное обеспечение сеанса и его настройки. В частности, эти два:

SESSION_COOKIE_AGE

По умолчанию: 1209600 (2 недели, в секундах)

Возраст сеансовых файлов cookie, в секунд.

SESSION_SAVE_EVERY_REQUEST

По умолчанию: False

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

Установка низкого SESSION_COOKIE_AGE и поворота SESSION_SAVE_EVERY_REQUEST on должна работать для создания "скользящего" срока действия.

Ответ 2

Установка возраста cookie сеанса в промежуточном программном обеспечении сеанса django просто устанавливает время истечения срока в заголовке set-cookie, переданном обратно в браузер. Это только соблюдение браузером времени истечения срока действия, которое обеспечивает "выход из системы".

В зависимости от причин, по которым вам требуется простоя, вы можете не учитывать соблюдение браузером времени истечения срока действия. В этом случае вам потребуется расширить промежуточное программное обеспечение сеанса, чтобы сделать это.

Например, вы можете сохранить время истечения срока действия вашего механизма сеанса, который вы обновляете с помощью запросов. В зависимости от характера трафика на ваш сайт, вы можете захотеть только вернуться к объекту сеанса один раз за X секунд, чтобы избежать чрезмерной записи db.