Dans ce guide, je vais vous donner quelques idées sur la façon d'implémenter le pare-feu Shieldon dans votre application Yii.
Utilisez PHP Composer :
composer require shieldon/shieldon
Cela installera également les dépendances requises pour Shieldon :
Dans votre fichier public/index.php
, avant cette ligne :
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
Ajoutez le code suivant :
Exemple :
/*
|--------------------------------------------------------------------------
| Exécuter le pare-feu Shieldon
|--------------------------------------------------------------------------
|
| Le pare-feu Shieldon surveillera toutes les requêtes HTTP arrivant sur votre site web.
| L'exécution du pare-feu Shieldon avant d'initialiser Yii évitera les éventuels conflits avec les fonctions intégrées de Yii.
*/
if (isset($_SERVER['REQUEST_URI'])) {
$storage = __DIR__ . '/../runtime/shieldon';
$firewall = new \Shieldon\Firewall\Firewall();
$firewall->configure($storage);
// L'URL de base pour le panneau de contrôle.
$firewall->controlPanel('/firewall/panel/');
$response = $firewall->run();
if ($response->getStatusCode() !== 200) {
$httpResolver = new \Shieldon\Firewall\HttpResolver();
$httpResolver($response);
}
}
Créez un contrôleur nommé FirewallPanelController
.
Exemple :
<?php
namespace app\controllers;
use yii\web\Controller;
class FirewallController extends Controller
{
public function beforeAction($action)
{
$this->enableCsrfValidation = false;
return parent::beforeAction($action);
}
/**
* Le point d'entrée du panneau de contrôle du pare-feu.
*
* @return string
*/
public function actionPanel()
{
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
}
}
Assurez-vous que enablePrettyUrl
est défini sur true dans votre fichier config/web.php
.
Exemple :
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'firewall/panel/' => 'firewall/panel',
'firewall/panel/<slug:.*>' => 'firewall/panel',
],
],
C'est tout.
Vous pouvez accéder au panneau de contrôle du pare-feu en visitant /firewall-panel
dans votre navigateur.
https://yourwebsite.com/firewall-panel
Le nom d'utilisateur par défaut est shieldon_user
, et le mot de passe est shieldon_pass
. Après vous être connecté au panneau de contrôle du pare-feu, la première chose à faire est de changer le nom d'utilisateur et le mot de passe.
Si le pare-feu Shieldon est activé dans la section de configuration Daemon
, il commencera à surveiller votre site web. Assurez-vous d'avoir correctement configuré les paramètres.