PHPackages                             pepeiborra/ci4-traffic-reader - 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. [Search &amp; Filtering](/categories/search)
4. /
5. pepeiborra/ci4-traffic-reader

ActiveLibrary[Search &amp; Filtering](/categories/search)

pepeiborra/ci4-traffic-reader
=============================

Lightweight SIEM filter for CodeIgniter 4: visit tracking, threat detection, and security alerting.

1(1mo ago)03↓100%MITPHPPHP ^7.4|^8.0|^8.1|^8.2|^8.3

Since Apr 28Pushed 1mo agoCompare

[ Source](https://github.com/JHOSEPDIES/traffic-reader-ci4)[ Packagist](https://packagist.org/packages/pepeiborra/ci4-traffic-reader)[ RSS](/packages/pepeiborra-ci4-traffic-reader/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

ci4-traffic-reader
==================

[](#ci4-traffic-reader)

Lightweight SIEM filter for **CodeIgniter 4** (PHP 7.4+): visit tracking, threat detection, and security alerting. Equivalent to `pepeiborra/traffic-reader` for Laravel.

Features
--------

[](#features)

- 🔍 **Visit tracking** — IP, device, OS, browser, referrer, URL, status code
- 🛡️ **Threat detection** — RCE, SQLi, XSS, path traversal, scanner UA, brute force, rate abuse
- 📊 **Dashboard PHP puro** — estadísticas, gráficas Chart.js, log de amenazas
- 📧 **Alertas** — email (CI4 Email) + Slack webhook opcionales
- ⚙️ **Configurable** — umbrales, storage, rutas excluidas, layout

---

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

[](#requirements)

VersiónPHP^7.4 | ^8.xCodeIgniter^4.0---

Installation
------------

[](#installation)

```
composer require pepeiborra/ci4-traffic-reader
```

---

Quick start
-----------

[](#quick-start)

### 1. Publicar la config

[](#1-publicar-la-config)

```
php spark traffic-reader:publish
```

Esto copia `Config/TrafficReader.php` a `app/Config/TrafficReader.php`.

O manualmente: copia `vendor/pepeiborra/ci4-traffic-reader/src/Config/TrafficReader.php` a `app/Config/`.

### 2. Registrar el filtro en `app/Config/Filters.php`

[](#2-registrar-el-filtro-en-appconfigfiltersphp)

```
use Pepeiborra\CI4TrafficReader\Filters\TrackVisitFilter;

public array $aliases = [
    // ... tus filtros existentes
    'trackVisit' => TrackVisitFilter::class,
];

// Aplicar a todas las rutas web:
public array $globals = [
    'after' => [
        'trackVisit',
    ],
];
```

### 3. Registrar la ruta del dashboard en `app/Config/Routes.php`

[](#3-registrar-la-ruta-del-dashboard-en-appconfigroutesphp)

```
use Pepeiborra\CI4TrafficReader\Controllers\AuditDashboard;

$routes->get('traffic-reader/visitas', [AuditDashboard::class, 'index'], [
    'filter' => 'login',   // tu filtro de autenticación
    'as'     => 'traffic-reader.visits',
]);
```

### 4. Variables de entorno (`.env`)

[](#4-variables-de-entorno-env)

```
# Emails separados por coma
TRAFFIC_READER_ALERT_EMAILS=admin@example.com,seguridad@example.com

# Slack (opcional)
TRAFFIC_READER_SLACK_WEBHOOK=https://hooks.slack.com/services/XXX/YYY/ZZZ
```

---

Configuración completa (`app/Config/TrafficReader.php`)
-------------------------------------------------------

[](#configuración-completa-appconfigtrafficreaderphp)

```
