Fat-Free

A diferencia de otros frameworks, Fat-Free es un framework PHP extremadamente liviano.

Firewall en el framework Fat-Free

Instalación

Utiliza PHP Composer:

composer require shieldon/shieldon

Esto también instalará las dependencias requeridas para Shieldon:

  • shieldon/psr-http La implementación de PSR-7, 15, 17 con documentación completa y pruebas exhaustivas.
  • shieldon/event-dispatcher El despachador de eventos más simple.
  • shieldon/web-security Una colección de funciones relacionadas con la seguridad web.
  • shieldon/messenger Una colección de módulos para enviar mensajes a API o servicios de terceros, como Telegram, Line, RocketChat, Slack, SendGrid, MailGun y más.

Implementación

Suponiendo que tu código se vea así:

<?php

require dirname(__DIR__) . '/vendor/autoload.php';

$f3 = \Base::instance();
$f3->route('GET /',
    function() {
        echo '¡Hola, mundo!';
    }
);
$f3->run();

Pasos

1. Inicializar el Firewall de Shieldon

Después de esta línea:

require dirname(__DIR__) . '/vendor/autoload.php';

Agrega el siguiente código:

Ejemplo:

// Evitar errores al ejecutarse en un entorno CLI.
if (isset($_SERVER['REQUEST_URI'])) {

    // Este directorio debe ser escribible.
    $storage = dirname($_SERVER['SCRIPT_FILENAME']) . '/../shieldon_firewall';

    $firewall = new \Shieldon\Firewall\Firewall();
    $firewall->configure($storage);
    $firewall->controlPanel('/firewall/panel');
    $response = $firewall->run();

    if ($response->getStatusCode() !== 200) {
        $httpResolver = new \Shieldon\Firewall\HttpResolver();
        $httpResolver($response);
    }
}

Nota:

Por favor, crea un directorio escribible llamado shieldon_firewall en el directorio superior. Shieldon Firewall almacenará datos en este directorio.

2. Definir una ruta para el Panel de Firewall

Ejemplo:

$f3->route('GET|POST /firewall/panel*', function() {
    $panel = new \Shieldon\Firewall\Panel();
    $panel->entry();
});

¡Eso es todo!

Ahora puedes acceder al Panel de Firewall utilizando la siguiente URL:

https://tusitio.com/firewall/panel

El inicio de sesión predeterminado es shieldon_user y la contraseña es shieldon_pass. Después de iniciar sesión en el Panel de Firewall, lo primero que debes hacer es cambiar el inicio de sesión y la contraseña.

Si el Firewall de Shieldon está habilitado en la sección de configuración Daemon, comenzará a monitorear tu sitio web. Asegúrate de haber configurado correctamente las opciones.