限制访问“私有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第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序