PHPackages                             openwpsecurity/core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. openwpsecurity/core

ActiveLibrary[HTTP &amp; Networking](/categories/http)

openwpsecurity/core
===================

Shared HTTP, database, admin, and security infrastructure for OpenWPSecurity plugins.

v0.6.0(1w ago)076GPL-2.0-or-laterPHPPHP &gt;=8.2CI passing

Since May 25Pushed 1w agoCompare

[ Source](https://github.com/victorwitkamp/openwpsecurity-core)[ Packagist](https://packagist.org/packages/openwpsecurity/core)[ Docs](https://github.com/victorwitkamp/openwpsecurity-core)[ GitHub Sponsors](https://github.com/sponsors/victorwitkamp)[ RSS](/packages/openwpsecurity-core/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (16)Versions (8)Used By (0)

OpenWPSecurity Core
===================

[](#openwpsecurity-core)

[![OpenWPSecurity](assets/banner-772x250.png)](assets/banner-772x250.png)

[![CI](https://github.com/victorwitkamp/openwpsecurity-core/actions/workflows/ci.yml/badge.svg)](https://github.com/victorwitkamp/openwpsecurity-core/actions/workflows/ci.yml)[![Packagist](https://camo.githubusercontent.com/ca990afd15bbb0d7fc648af1e549a1af1fcf400c03f2d2941b0dabbee9da0ec9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7061636b61676973742d6f70656e77707365637572697479253246636f72652d626c7565)](https://packagist.org/packages/openwpsecurity/core)[![License](https://camo.githubusercontent.com/cd781d0568c328bdea35f284d33e2b1e96675ef60910926c1dd75d5a4d46de66/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c2d2d322e302d2d6f722d2d6c617465722d626c7565)](LICENSE)

Composer package: [`openwpsecurity/core`](https://packagist.org/packages/openwpsecurity/core)

OpenWPSecurity Core contains shared PHP infrastructure used by OpenWPSecurity WordPress plugins. It does not define WordPress plugin tables, options, admin pages, or activation hooks.

Requirements
------------

[](#requirements)

- PHP 8.2 or newer
- Composer 2
- WordPress runtime for WordPress adapter classes

Install
-------

[](#install)

```
composer require openwpsecurity/core:^0.6
```

API Surface
-----------

[](#api-surface)

`VictorWitkamp\OpenWPSecurity\Core\Http\IpAddressInspector`

Resolves trusted IP headers and normalizes IPv4 and IPv6 candidates.

`VictorWitkamp\OpenWPSecurity\Core\Http\WordPressServerRequestFactory`

Creates a PSR-7 `ServerRequestInterface` from the active WordPress request using `laminas/laminas-diactoros`.

`VictorWitkamp\OpenWPSecurity\Core\Http\Response\ResponseDispatcher`

Emits HTML, JSON, text, and redirect responses using PSR-7 response factories and `laminas/laminas-httphandlerrunner`.

`VictorWitkamp\OpenWPSecurity\Core\Configuration\SettingsInputSanitizer`

Normalizes line-based settings, trusted IP header lists, and IP address lists.

`VictorWitkamp\OpenWPSecurity\Core\Location\GeoIpLookup`

Classifies local/private IP addresses and resolves country metadata through the PHP GeoIP extension or optional remote lookup.

`VictorWitkamp\OpenWPSecurity\Core\View\Reporting\ReportPeriod`

Maps supported report periods to labels and durations.

`VictorWitkamp\OpenWPSecurity\Core\View\Pagination\AdminPaginator`

Builds WordPress admin pagination links for report tables.

`VictorWitkamp\OpenWPSecurity\Core\View\Presentation\CountryDistributionPanel`

Renders the shared country distribution panel used by OpenWPSecurity report pages.

`VictorWitkamp\OpenWPSecurity\Core\Security\Ban\TemporaryBanRepository`

Defines the shared active temporary-ban repository contract.

`VictorWitkamp\OpenWPSecurity\Core\Security\Ban\AbstractTemporaryBanRepository`

Provides indexed table storage, upserts, expiry cleanup, and WordPress object caching for plugin-owned temporary-ban repositories.

`VictorWitkamp\OpenWPSecurity\Core\Security\Ban\AbstractTemporaryBanCounterRepository`

Provides atomic per-IP temporary-ban recurrence counters for plugin-owned tables.

`VictorWitkamp\OpenWPSecurity\Core\Security\Ban\AbstractPermanentBanRepository`

Provides indexed table storage, duplicate/private-IP protection, paginated reads, counts, and deletion for plugin-owned permanent-ban repositories.

`VictorWitkamp\OpenWPSecurity\Core\Security\Ban\TemporaryBanCleanup`

Schedules daily removal of expired temporary-ban rows.

Runtime Dependencies
--------------------

[](#runtime-dependencies)

- `laminas/laminas-diactoros`
- `laminas/laminas-httphandlerrunner`
- `psr/http-message`
- `psr/http-factory`

The WordPress adapter classes expect WordPress runtime functions such as `get_option()` and `wp_json_encode()` to be available.

Development
-----------

[](#development)

Run `composer install`, then use `composer check` for WordPress Coding Standards, PHPStan static analysis, and PHPUnit. The repository recommends the VS Code PHP Sniffer &amp; Beautifier and PHPStan extensions, which validate PHP files during development.

Support
-------

[](#support)

OpenWPSecurity Core is maintained as open-source software. Funding helps cover maintenance, testing, documentation, and continued development.

- GitHub Sponsors:

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance98

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

7

Last Release

13d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/24307531?v=4)[Victor Witkamp](/maintainers/victorwitkamp)[@victorwitkamp](https://github.com/victorwitkamp)

---

Top Contributors

[![victorwitkamp](https://avatars.githubusercontent.com/u/24307531?v=4)](https://github.com/victorwitkamp "victorwitkamp (12 commits)")

---

Tags

psr-7wordpresswordpress pluginopenwpsecurity

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/openwpsecurity-core/health.svg)

```
[![Health](https://phpackages.com/badges/openwpsecurity-core/health.svg)](https://phpackages.com/packages/openwpsecurity-core)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k19.5M1.8k](/packages/cakephp-cakephp)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[mezzio/mezzio

PSR-15 Middleware Microframework

3923.8M126](/packages/mezzio-mezzio)[mezzio/mezzio-swoole

Swoole support for Mezzio

92252.0k4](/packages/mezzio-mezzio-swoole)[mimmi20/browser-detector

Library to detect Browsers and Devices

48157.6k5](/packages/mimmi20-browser-detector)[rareloop/lumberjack-core

A powerful MVC framework for the modern WordPress developer. Write better, more expressive and easier to maintain code

41161.2k21](/packages/rareloop-lumberjack-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
