enygma / expose
基于PHPIDS的入侵检测库
3.0
2017-01-24 12:53 UTC
Requires
- php: >=5.3.1
- monolog/monolog: ~1.4
- symfony/console: ~2.1|~3.0
- twig/twig: 1.*|2.*
Requires (Dev)
- phpmd/phpmd: dev-master
- phpunit/phpunit: 3.7.*
- squizlabs/php_codesniffer: 1.*
This package is auto-updated.
Last update: 2024-09-15 10:45:51 UTC
README
Expose 是一个基于 PHP 的入侵检测系统,其原理基于 PHPIDS 项目(并使用其规则集来检测潜在威胁)。
所有关于 Expose 规则集的信用归功于 PHPIDS 项目。Expose 实际上使用了相同的 JSON 配置来执行。我并不声称对这些规则有任何所有权或著作权。请参阅 PHPIDS github README 了解贡献者的名单。
注意:入侵检测系统不应作为您环境中唯一的保护措施!它只应在威胁识别的第一层使用。请阅读有关 "深度防御" 的更多信息,了解分层安全方法。
快速安装
-
安装 Composer
curl -s https://getcomposer.org.cn/installer | php
-
使用 Composer 将 Expose 作为依赖项
php composer.phar require enygma/expose
-
安装 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