Django HTTPS и HTTP-сеансы

Я использую Django 1.1.1 с промежуточным ПО для перенаправления ssl.

Данные сеансов (аутентификация и т. Д.), Созданные через HTTPS, недоступны в HTTP-частях сайта.

Как лучше всего сделать его доступным, не делая весь сайт HTTPS?


person TonyT    schedule 09.12.2009    source источник


Ответы (2)


Это сделано специально, и вы не можете легко это изменить.

Файлы cookie / аутентификация, отправленные через HTTPS, не отправляются браузером, когда тот же сайт просматривается через HTTP. Лучшее решение, вероятно, - перенаправить пользователя со страницы HTTPS на страницу HTTP, которая устанавливает ваш файл cookie аутентификации.

Имейте в виду, что этот неаутентифицированный файл cookie, отправленный в виде открытого текста по сети, открывает ваших пользователей для атак с использованием спуфинга и повторного воспроизведения. Это может не иметь значения для вашего приложения.

person Paul McMillan    schedule 10.12.2009

Была аналогичная проблема. Пользователь iiie в IRC #django указал мне на этот параметр:

Установка этого параметра на ".domain.com" позволила мне обмениваться сеансами между HTTP / HTTPS, а также между доменами и хостами / поддоменами.

Я мог представить себе ситуацию, когда одно из них не использовалось, но на данный момент это решает мою проблему.

person Gringo Suave    schedule 24.05.2012