In questa guida, ti fornirò alcune idee su come implementare il firewall Shieldon nella tua applicazione Yii.
Utilizza PHP Composer:
composer require shieldon/shieldon
Questo installerà anche le dipendenze necessarie per Shieldon:
Nel tuo file public/index.php
, prima di questa riga:
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
Aggiungi il seguente codice:
Esempio:
/*
|--------------------------------------------------------------------------
| Esegui il firewall Shieldon
|--------------------------------------------------------------------------
|
| Il firewall Shieldon monitorerà tutte le richieste HTTP che arrivano al tuo sito web.
| Eseguire il firewall Shieldon prima di inizializzare Yii eviterà possibili conflitti con le funzioni integrate di Yii.
*/
if (isset($_SERVER['REQUEST_URI'])) {
$storage = __DIR__ . '/../runtime/shieldon';
$firewall = new \Shieldon\Firewall\Firewall();
$firewall->configure($storage);
// L'URL di base per il pannello di controllo.
$firewall->controlPanel('/firewall/panel/');
$response = $firewall->run();
if ($response->getStatusCode() !== 200) {
$httpResolver = new \Shieldon\Firewall\HttpResolver();
$httpResolver($response);
}
}
Crea un controller chiamato FirewallPanelController
.
Esempio:
<?php
namespace app\controllers;
use yii\web\Controller;
class FirewallController extends Controller
{
public function beforeAction($action)
{
$this->enableCsrfValidation = false;
return parent::beforeAction($action);
}
/**
* Il punto di ingresso del pannello del firewall.
*
* @return string
*/
public function actionPanel()
{
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
}
}
Assicurati che enablePrettyUrl
sia impostato su true nel tuo file config/web.php
.
Esempio:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'firewall/panel/' => 'firewall/panel',
'firewall/panel/<slug:.*>' => 'firewall/panel',
],
],
Questo è tutto.
Puoi accedere al pannello del firewall visitando /firewall-panel
nel tuo browser.
https://yourwebsite.com/firewall-panel
Il nome utente predefinito è shieldon_user
, e la password è shieldon_pass
. Dopo aver effettuato l'accesso al pannello del firewall, la prima cosa da fare è cambiare il nome utente e la password.
Se il firewall Shieldon è abilitato nella sezione di configurazione Daemon
, inizierà a monitorare il tuo sito web. Assicurati di aver configurato correttamente le impostazioni.