影子守护程序web应用程序防火墙的python连接器

shadowd的Python项目详细描述


https://travis-ci.org/zecure/shadowd_python.svghttp://shadowd.zecure.org/img/logo_small.png

shadow daemondetectrecordpreventattacksweb应用程序的攻击的工具集合。 从技术上讲,shadow daemon是一个web应用程序防火墙,它拦截请求并过滤掉恶意参数。 它是一个模块化系统,将Web应用程序、分析和接口分开,以提高安全性、灵活性和可扩展性。

此组件可用于将python应用程序与background server连接起来。

文档

有关完整文档,请参阅shadowd.zecure.org

安装

您可以使用easy_install或pip:

easy_install shadowd
pip install shadowd

也可以克隆此存储库并手动安装包:

python setup.py install

您还必须创建一个配置文件。您可以将misc/examples/connectors.ini复制到/etc/shadowd/connectors.ini。 示例配置是带注释的,应该是自解释的。

cgi

要保护CGI应用程序,只需加载模块即可:

import shadowd.cgi_connector

django

django应用程序需要稍作修改。必须创建一个钩子来拦截请求。 为此,请在应用程序目录中创建文件middleware/shadowdconnector.py

from shadowd.django_connector import InputDjango, OutputDjango, Connector

class ShadowdConnectorMiddleware(object):
    def process_request(self, request):
        input = InputDjango(request)
        output = OutputDjango()

        status = Connector().start(input, output)
        if not status == True:
            return status

中间件目录中还必须有一个空的\u init\uu.py文件。 接下来,您必须在应用程序的settings.py文件中注册中间件:

MIDDLEWARE_CLASSES = (
    'middleware.shadowdconnector.ShadowdConnectorMiddleware',
    # ...
)

连接器应该在中间件类列表的开头。

烧瓶

烧瓶的应用也需要一个小的修改。必须创建一个钩子来拦截请求:

from shadowd.flask_connector import InputFlask, OutputFlask, Connector

@app.before_request
def before_req():
    input = InputFlask(request)
    output = OutputFlask()

    Connector().start(input, output)

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

推荐PyPI第三方库


热门话题
用户界面java,使用gui连接到另一台计算机/服务器的文件系统   运行sbt的ubuntu返回错误:“javahome需要<path>参数”   java如何在Android中处理许多ImageView而不出现内存问题?   查询中非法字符的java相同URL失败   安卓取消引用可能会产生“java”。lang.NullPointerException'   java中的indexoutofboundsexception“java.lang.ArrayIndexOutOfBoundsException”错误   xml Java将dom保存到文件>文件在程序结束后由另一个进程打开   Java的垃圾收集器是如何工作的?   Java如何筛选值(列表)   java处理字符串我怎样才能像在真实的书籍中一样在上面部分生成“小数字”呢?   java SonarQube是否有一个API来获取所有项目分析的一部分?   java startActivity(intent)什么都不做   JAVAutil。扫描器类Java   java如何从Firebase更新电子邮件?UpdateMail方法已被弃用   java Hibernate。如何正确组织带有注释的onetomany关系?   在java中获得卷标和驱动器号之间的映射(而不是FileSystemView)的解决方法是什么   java查找文件的路径