限制访问“私有beta”站点的简单中间件

django-fence的Python项目详细描述


这是一个简单的django应用程序,带有阻止访问的中间件(在 用户友好,但不是特别安全的方式)早期测试或测试网站。

中间件检查会话令牌的存在。如果它符合 在设置中指定的令牌,请求将正常进行;如果没有, 中间件显示“请输入令牌”表单。单曲 令牌是为所有授权的查看器共享的。

重点不是提供高安全性,而是防止随意性 访问者和爬虫在测试版或测试站点周围闲逛,而在 同时,super easy让设计师和 不同的计算机知识。你只要告诉他们:“哦,神奇的词是 “小提琴棒”,他们可以立即进入,而不必做任何事情 有点注册。目标是获得比http basic更好的用户体验 为此目的授权。

安装

把它带到你的路上。这应该管用:

pip install -e http://github.com/yourcelf/django-fence.git

用法

  1. fence添加到INSTALLED_APPS

    INSTALLED_APPS += ('fence',)
    
  2. 添加中间件:

    MIDDLEWARE_CLASSES += ("fence.middleware.Fence",)
    
  3. 定义神奇的单词:

    FENCE_TOKEN = "secret"
    
  4. 创建要在fence/say_the_magic_word.html中显示的模板。示例模板:

    {% extends "base.html" %}
    
    {# Add a class to <body> which lets us hide footers/headers/etc. #}
    {% block body_class %}front-gate{% endblock %}
    
    {% block content %}
    
        <form method='post' action=''>{% csrf_token %}
            <p>We're still in beta.  What's the magic word?</p>
            {{ form }}
            <input type='submit' value='Let me in!' />
        </form>
    
    {% endblock %}
    

许可证

麻省理工学院执照。

版权所有(c)2012 charlie detar

特此免费授予获得本软件副本和相关文档文件(以下简称“软件”)的任何人使用本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,并在符合以下条件的情况下,允许向其提供软件的人员这样做:

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

<软件>提供“原样”,无任何担保,明示或默示,包括但不限于适销性、适合特定用途和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。

作者

查理·德塔。

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

推荐PyPI第三方库


热门话题
ByteArrayOutputStream的java解码属性   java S3 SDK在上载时更新单个对象,而不是创建新文件   java hibernate:无法从eclipse连接到DB   java如何在强制转换JComboBox之前检查其类型?   http从Java中的GETPOST请求方法捕获URI、资源名称,如开发人员工具中所示   java在Spring@Bean方法中返回接口的局限性   Java中的Web服务和客户端(使用Eclipse Apache Axis 2自底向上服务)某些代码会引发异常   java spring安全+rest不起作用   java将LinkedList添加到包含LinkedList的LinkedList并更改添加的LinkedList   java是否临时删除对象的属性?   java使用AnimatedGifEncoder类创建的gif图像的部分帧是不透明的   java如何高效地处理maven3时间戳快照?   java向集合对象添加另一项   java如何将动态参数传递给jquery函数   java使用libGdx桌面端口作为Android GLES20的仿真器