代码之家  ›  专栏  ›  技术社区  ›  PhoebeB

政府网站的无炊具Django

  •  0
  • PhoebeB  · 技术社区  · 16 年前

    因为我正在写一个来自政府机构的django网站,所以我不能使用cookies。我找到了这个片段 http://djangosnippets.org/snippets/1540 /但它目前不允许用户登录。在开始调试之前,我想知道是否有其他人用这个代码段或其他方式解决了这个问题?

    1. 网站提供的任何cookie的内容和用途都应始终传达给用户。
    2. 基本的 网站的可用性。
    3. 如果用户拒绝接受来自您网站的Cookie而导致您网站的技术功能降级,您的网站应通知用户。

    我们对basic的定义是您不需要登录就可以看到的所有内容。希望这能动摇他们。这条指导方针可以追溯到2002年,并不适合现代网络应用。祈祷吧。。。

    谢谢大家的贡献。

    4 回复  |  直到 16 年前
        1
  •  1
  •   Vasil    16 年前

    虽然您可以在没有cookies的情况下使用django,但有数百万种方式,所有这些方式都假设您不需要跟踪会话数据。对用户和您来说,通过cookies保存会话数据可能是最可靠和安全的方法。另一种方法是将会话ID附加到URL的末尾(这可能会通过referer头将这些会话ID暴露给外部服务器)和跟踪ip,这两种方法都不起作用,除非一次只有一个用户来自同一个ip,并且您知道所有用户的ip,并且这些用户很少更改,我无法想象在2010年的web应用程序中会实现这样的功能。

        2
  •  2
  •   Ed C    13 年前

    我已经释放了 http://pypi.python.org/pypi/django-cookieless 管理没有cookie的会话的使用,这允许一些额外的安全特性,例如只在表单post中传递的加密会话密钥,将加密绑定到客户端ip等等。 但就安全性而言,我仍然不建议将其用于绑定到经过身份验证的用户的会话,因为没有cookie,会话窃取就无法得到充分的保护。

        3
  •  1
  •   Matthew Schinckel    16 年前

    您可以使用HTTP身份验证(基本或摘要)。大多数web浏览器都允许存储这些凭据,或者在浏览会话结束时让这些凭据过期。管理员不关心身份验证是如何完成的,因此您甚至可以让会话处于未启用状态。

    注意,使用httpbasic auth,您将 需要 在https下服务,因为头文件本质上是包含用户名和密码的明文。

        4
  •  0
  •   Ignacio Vazquez-Abrams    16 年前

    你可以把数据输入 REMOTE_USER 请求头传递给应用程序(如果存在的话),但这需要自定义中间件和web服务器中的auth配置才能完全工作。