{"id":17117076,"url":"https://github.com/enygma/expose","last_synced_at":"2025-10-08T01:05:10.240Z","repository":{"id":8502984,"uuid":"10112502","full_name":"enygma/expose","owner":"enygma","description":"An Intrusion Detection System library loosely based on PHP IDS","archived":false,"fork":false,"pushed_at":"2020-08-17T19:52:48.000Z","size":289,"stargazers_count":265,"open_issues_count":28,"forks_count":55,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-04-03T21:13:35.323Z","etag":null,"topics":["intrusion-detection","php","phpids","security"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enygma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-16T23:17:45.000Z","updated_at":"2024-12-14T21:21:22.000Z","dependencies_parsed_at":"2022-08-21T08:10:50.340Z","dependency_job_id":null,"html_url":"https://github.com/enygma/expose","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enygma%2Fexpose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enygma%2Fexpose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enygma%2Fexpose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enygma%2Fexpose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enygma","download_url":"https://codeload.github.com/enygma/expose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618218,"owners_count":21134199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["intrusion-detection","php","phpids","security"],"created_at":"2024-10-14T17:50:32.388Z","updated_at":"2025-10-08T01:05:05.201Z","avatar_url":"https://github.com/enygma.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Expose: an IDS for PHP\n=========================\n\n[![Build Status](https://secure.travis-ci.org/enygma/expose.png?branch=master)](http://travis-ci.org/enygma/expose)\n![Insight Rating](https://insight.sensiolabs.com/projects/225eb78a-5af9-4ded-891c-6f04fb709362/small.png)\n\nExpose is an Intrusion Detection System for PHP loosely based on the PHPIDS project (and using its ruleset\nfor detecting potential threats).\n\n**ALL CREDIT** for the rule set for Expose goes to the PHPIDS project. Expose literally\nuses the same JSON configuration for its execution. I am not claiming any kind of ownership\nor authorship of these rules. Please see [the PHPIDS github README](https://github.com/PHPIDS/PHPIDS)\nfor names of those who have contributed.\n\n**NOTE:** An IDS system should not be relied upon for sole protection in your environment! It should only be used in\nthe first level of threat identification. Please read up on \"[Defense in Depth](http://websec.io/2012/10/12/Core-Concepts-Defense-in-Depth.html)\"\nfor more information on a layered security approach.\n\n### Quick Install\n\n1. Install Composer:\n\n    ```\n    curl -s https://getcomposer.org/installer | php\n    ```\n\n1. Require Expose as a dependency using Composer:\n\n    ```\n    php composer.phar require enygma/expose\n    ```\n\n1. Install Expose:\n\n    ```\n    php composer.phar install\n    ```\n\n### Example Usage\n\n```php\n\u003c?php\nrequire 'vendor/autoload.php';\n\n$data = array(\n    'POST' =\u003e array(\n        'test' =\u003e 'foo',\n        'bar' =\u003e array(\n            'baz' =\u003e 'quux',\n            'testing' =\u003e '\u003cscript\u003etest\u003c/script\u003e'\n        )\n    )\n);\n\n$filters = new \\Expose\\FilterCollection();\n$filters-\u003eload();\n\n//instantiate a PSR-3 compatible logger\n$logger = new \\Expose\\Log\\Mongo();\n\n$manager = new \\Expose\\Manager($filters, $logger);\n$manager-\u003erun($data);\n\necho 'impact: '.$manager-\u003egetImpact().\"\\n\"; // should return 8\n\n// get all matching filter reports\n$reports = $manager-\u003egetReports();\nprint_r($reports);\n\n// export out the report in the given format (\"text\" is default)\necho $manager-\u003eexport();\necho \"\\n\\n\";\n\n```\n\n### Full Documentation\n\nFull (current) documentation for Expose can be found here: [ReadTheDocs for Expose](https://expose.readthedocs.org/en/latest/)\n\nIf you're curious as to the importance of application-level intrusion detection, check out [this article](https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection)\non the OWASP site.\n\nFeel free to contact me with questions or how you can help the project!\n\n@author Chris Cornutt \u003cccornutt@phpdeveloper.org\u003e\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/enygma/expose/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenygma%2Fexpose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenygma%2Fexpose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenygma%2Fexpose/lists"}