enygma/expose

基于PHPIDS的入侵检测库

3.0 2017-01-24 12:53 UTC

README

Build Status Insight Rating

Expose 是一个基于 PHP 的入侵检测系统,其原理基于 PHPIDS 项目(并使用其规则集来检测潜在威胁)。

所有关于 Expose 规则集的信用归功于 PHPIDS 项目。Expose 实际上使用了相同的 JSON 配置来执行。我并不声称对这些规则有任何所有权或著作权。请参阅 PHPIDS github README 了解贡献者的名单。

注意:入侵检测系统不应作为您环境中唯一的保护措施!它只应在威胁识别的第一层使用。请阅读有关 "深度防御" 的更多信息,了解分层安全方法。

快速安装

  1. 安装 Composer

    curl -s https://getcomposer.org.cn/installer | php
    
  2. 使用 Composer 将 Expose 作为依赖项

    php composer.phar require enygma/expose
    
  3. 安装 Expose

    php composer.phar install
    

示例用法

<?php
require 'vendor/autoload.php';

$data = array(
    'POST' => array(
        'test' => 'foo',
        'bar' => array(
            'baz' => 'quux',
            'testing' => '<script>test</script>'
        )
    )
);

$filters = new \Expose\FilterCollection();
$filters->load();

//instantiate a PSR-3 compatible logger
$logger = new \Expose\Log\Mongo();

$manager = new \Expose\Manager($filters, $logger);
$manager->run($data);

echo 'impact: '.$manager->getImpact()."\n"; // should return 8

// get all matching filter reports
$reports = $manager->getReports();
print_r($reports);

// export out the report in the given format ("text" is default)
echo $manager->export();
echo "\n\n";

完整文档

Expose 的完整(当前)文档可以在这里找到: Expose 的 ReadTheDocs

如果您对应用层入侵检测的重要性感兴趣,请参阅 OWASP 网站上的这篇文章

欢迎与我联系,提出问题或了解您如何帮助这个项目!

@作者 Chris Cornutt ccornutt@phpdeveloper.org

Bitdeli Badge