CakePHP es un framework web de código abierto ampliamente utilizado que sigue el patrón arquitectónico MVC. Goza de gran reputación en la comunidad de PHP y ofrece una variedad de características y herramientas para construir aplicaciones web.
Esta guía ha sido probada con éxito en la versión 3.8
de CakePHP. Sin embargo, también debería ser aplicable a versiones anteriores del framework.
Utiliza PHP Composer:
composer require shieldon/shieldon
Esto también instalará las dependencias requeridas por Shieldon:
El paso 1 y el paso 2 se aplican al mismo archivo ubicado en /config/route.php
.
Tanto el paso 1 como el paso 2 implican modificar el mismo archivo ubicado en /config/routes.php
. Por lo tanto, deberás realizar los siguientes pasos dentro de ese archivo:
/config/routes.php
./config/routes.php
.Siguiendo estos pasos, asegurarás que ambas modificaciones se realicen en el archivo adecuado.
Ya se ha preparado un middleware para CakePHP aquí. Solo tienes que registrarlo en tu aplicación.
Ejemplo:
/**
* Aplicar Shieldon Firewall al ámbito de la ruta actual.
*/
$routes->registerMiddleware(
'firewall',
new \Shieldon\Firewall\Integration\CakePhp()
);
$routes->applyMiddleware('firewall');
Ejemplo:
/**
* Definir la ruta para el panel de firewall.
*/
$routes->connect('/firewall/panel/', [
'controller' => 'FirewallPanel',
'action' => 'entry'
]);
Crea un controlador llamado FirewallPanelController
y agrega el siguiente código a él.
Ejemplo:
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
exit;
Si tienes CSRF habilitado, agrega estas líneas:
Ejemplo:
$panel->csrf(
'_csrfToken',
$this->request->getParam('_csrfToken')
);
El ejemplo completo se verá así:
Ejemplo:
<?php
namespace App\Controller;
class FirewallPanelController extends AppController
{
/**
* Este es el punto de entrada de nuestro Panel de Firewall.
*/
public function entry()
{
// Acceder al Panel de Firewall.
$panel = new \Shieldon\Firewall\Panel();
$panel->csrf([
'_csrfToken' => $this->request->getParam('_csrfToken')
]);
$panel->entry();
exit;
}
}
Eso es todo.
Puedes acceder al Panel de Firewall en /firewall/panel
. Para ver la página, abre esta URL en tu navegador.
https://for.example.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 del "Daemon", comenzará a monitorear tu sitio web. Asegúrate de haber configurado correctamente la configuración.