Cookieless Django для правительственного сайта - PullRequest
0 голосов
/ 08 июня 2010

Поскольку я пишу сайт django из государственных органов, я не смогу использовать куки.Я нашел этот фрагмент http://djangosnippets.org/snippets/1540/, но в настоящее время он не позволяет пользователям войти в систему.Перед тем, как начать отладку, я подумал, что кто-то еще решил эту проблему с помощью этого фрагмента или каким-либо другим способом?

ОБНОВЛЕНИЕ

ЕДИНСТВЕННЫМ ответом является промежуточное ПО / сеанс в маршруте URL, ноРешение становится еще хуже, если у вас есть сайт с открытым и закрытым разделами, доступными при входе в систему. Мы решили пойти по следующему пути: «следовать» рекомендациям:

  1. Содержаниеи цель любого файла cookie, доставляемого вашим веб-сайтом, всегда должна сообщаться пользователю.
  2. Пользователи должны иметь возможность отказаться от файла cookie, чтобы это не влияло на удобство использования basic вашего веб-сайта.
  3. Ваш веб-сайт должен уведомлять ваших пользователей о том, что технические характеристики вашего сайта будут ухудшены в результате их отказа принимать от него файлы cookie.

Наше определение основных - это все, что нужночто вы можете увидеть без входа в систему. Будем надеяться, что это повлияет на них.Это руководство относится к 2002 году и не предназначено для современных веб-приложений.Скрестив пальцы ...

Спасибо за вклад всех.

Ответы [ 4 ]

2 голосов
/ 09 ноября 2012

Я выпустил http://pypi.python.org/pypi/django-cookieless для управления использованием сеансов без файлов cookie, что позволяет использовать некоторые дополнительные функции безопасности, например, зашифрованные ключи сеанса, которые передаются только в сообщениях формы, привязывают шифрование к ip клиента и т. Д. , Но с точки зрения безопасности я бы по-прежнему не рекомендовал использовать его для сеансов, связанных с аутентифицированными пользователями, поскольку без файлов cookie, кража сеансов не может быть в достаточной степени защищена от.

1 голос
/ 08 июня 2010

Вы можете использовать HTTP-аутентификацию (обычную или дайджест).Большинство веб-браузеров позволяют хранить эти учетные данные или срок их действия истекает после завершения сеанса просмотра.Администратору не важно, как выполняется проверка подлинности, поэтому вы можете даже не включать сеансы.

Обратите внимание, что при базовой аутентификации HTTP вам потребуется для обслуживания по протоколу httpsВ качестве заголовка используется по существу открытый текст, содержащий имя пользователя и пароль.

1 голос
/ 08 июня 2010

В то время как вы можете использовать django без файлов cookie, миллионами способов, и все это предполагает, что вам не нужно отслеживать данные сеанса. Хранение данных сеанса с помощью файлов cookie, вероятно, является наиболее надежным и безопасным способом как для пользователей, так и для вас. Альтернативы - добавление идентификаторов сеансов в конец URL-адресов (которые потенциально могут предоставлять эти идентификаторы сеансов внешним серверам через заголовок реферера) и отслеживание ip, который просто не будет работать, за исключением случая, когда только один пользователь будет приходить с одного IP-адреса в время, и вы знаете IP-адреса всех пользователей, и они будут редко меняться, я не могу представить себе нечто подобное, реализованное в веб-приложении в 2010 году.

0 голосов
/ 08 июня 2010

Вы можете ввести данные в заголовок запроса REMOTE_USER, переданный приложению (если он существует), но для этого потребуется полная пользовательская промежуточная программа и конфигурация авторизации на веб-сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...