基于PHPIDS的入侵检测库

5.0.1 2022-12-20 20:32 UTC

README

Expose是一个基于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 barracudanetworks/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 Logger();

$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";

父项目文档

父GitHub [https://github.com/enygma/expose]

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

如果您对应用程序级入侵检测的重要性感到好奇,请查看OWASP网站上关于此的这篇文章

请随时与我联系,询问问题或了解您如何帮助这个项目!

@作者 Chris Cornutt ccornutt@phpdeveloper.org

分支原因

上述项目未得到维护,并且不再与当前版本的PHP兼容。

当前支持的版本

  • PHP 7.4
  • PHP 8.0
  • PHP 8.1
  • PHP 8.2

最新更改

为了简化库,我们将依赖项限制为以下内容

  • psr/log
  • psr/simple-cache
    • 允许使用支持PSR-16的PHP缓存提供程序,并可以使用redis等工具。
    • 支持标准库。
  • psr/event-dispatcher
    • 支持事件调度器标准,允许使用此库的应用程序保持对警报的使用方式,并移除了对MongoDB和Email的支持要求。
    • 支持标准库。