将django会话限制为IP和/或用户代理。

django-restricted-sessions的Python项目详细描述


https://badge.fury.io/py/django-restricted-sessions.pnghttps://travis-ci.org/erikr/django-restricted-sessions.png?branch=masterhttps://coveralls.io/repos/erikr/django-restricted-sessions/badge.png?branch=master&

将django会话限制为IP和/或用户代理。

如果IP或用户代理在创建会话后发生更改,则会对请求作出400响应,会话将 刷新(删除所有会话数据,创建新会话)并记录警告。这个中间件的目标是 使攻击者更难使用他们获得的会话ID。它不会使滥用会话id成为可能。

为了与IPv6隐私扩展兼容,默认情况下只检查IPv6地址的前64位。

快速启动

安装django受限会话:

pip install django-restricted-sessions

然后在sessionmiddleware:

MIDDLEWARE_CLASSES = [
    ....
    'django.contrib.sessions.middleware.SessionMiddleware',
    # 'django.contrib.auth.middleware.AuthenticationMiddleware',
    'restrictedsessions.middleware.RestrictedSessionsMiddleware',
    ....
]

启用RESTRICTEDSESSIONS_AUTHED_ONLY设置时,请确保在 AuthenticationMiddleware使request.user存在。

历史记录

0.2.0(2017-04-06)

    对于Django 1.10 +支持,从对象改为 django.UTIL.Eclipse。
  • 为django版本和更多python版本添加了pypi trove分类器
  • 更新了travis.yml以获取更多python版本

0.1.4(2016-07-02)

  • 修复了包含非utf8字节时可能出现的异常 在用户代理字符串中。

0.1.3.1(2016-05-26)

  • 版本bump以避免pypi的重复文件名禁令。

0.1.3(2016-05-26)

  • 添加了重定向到已知视图或使用自定义状态代码设置的支持。
  • 添加了对忽略未经身份验证会话的支持。
  • 修复了远程地址未知时的短路问题。
  • 不再支持旧的python版本:现在需要2.7、3.3或更高版本, 与django 1.8。

0.1.2(2014-03-20)

  • 解决了会话从IPv4切换到IPv6时引发的异常
  • python 3.4支持

0.1.1(2014-02-18)

  • 向setup.py添加了缺少的netaddr要求。

0.1.0(2014-02-17)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?