将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第三方库


热门话题
线程“main”com4j中的java异常。执行例外:com4j。ComException:80040154 CoCreateInstance失败:类未注册:。\com4j。cpp   java如何中和HTTP头中的CRLF序列   java从单个对象以及对象集合中提取任何属性值   java如何在找到某个条目名称时转换/修改映射列表中的嵌套映射?   java如何使用RxJava/RxAndroid在OnNext中引发异常   java在查询之间更新SQL数据库?   java什么是将两个类合并为一个类,其中一个类是另一个类的子类?   java Kill应用程序每次进入后台   spring security如何转换web。java melody的java配置的xml代码   java卡夫卡启用。汽车commit false与commitSync()结合使用   Java数组从长数组中获取特定字节   java将子类对象分配给超类引用的逻辑目的或用途   sql Java隐藏从数据库检索的空值   使用mockito或Jmockit的java模拟私有静态最终字段   Java Apache HttpClient EnityUtils块   java HQL查询将使用Hibernate二级缓存   java检查是否选中复选框,是否使用Selenium   java如何在Android上逐个填充/显示语言的字母表