CakePHPは、MVCアーキテクチャのパターンに従う広く使用されているオープンソースのWebフレームワークです。PHPコミュニティで高く評価されており、Webアプリケーションの構築に役立つさまざまな機能とツールを提供しています。
このガイドはCakePHPのバージョン3.8
での動作確認が行われていますが、フレームワークの古いバージョンでも適用可能です。
PHP Composerを使用してください:
composer require shieldon/shieldon
これにより、Shieldonに必要な依存関係もインストールされます:
ステップ1とステップ2は、/config/route.php
という同じファイルに適用されます。
ステップ1とステップ2は、/config/routes.php
という同じファイルの修正を必要とします。そのため、以下の手順をそのファイル内で実行してください:
/config/routes.php
ファイルを開きます。/config/routes.php
ファイルに変更を保存します。これらの手順に従うことで、両方の変更が適切なファイルに行われます。
CakePHP用のミドルウェアがこちらで提供されています。アプリケーションに登録してください。
例:
/**
* 現在のルートスコープにShieldonファイアウォールを適用します。
*/
$routes->registerMiddleware(
'firewall',
new \Shieldon\Firewall\Integration\CakePhp()
);
$routes->applyMiddleware('firewall');
例:
/**
* ファイアウォールパネルのルートを定義します。
*/
$routes->connect('/firewall/panel/', [
'controller' => 'FirewallPanel',
'action' => 'entry'
]);
FirewallPanelController
という名前のコントローラを作成し、以下のコードを追加してください。
例:
$panel = new \Shieldon\Firewall\Panel();
$panel->entry();
exit;
CSRFが有効になっている場合、以下の行を追加してください。
例:
$panel->csrf(
'_csrfToken',
$this->request->getParam('_csrfToken')
);
完全な例は以下のようになります:
例:
<?php
namespace App\Controller;
class FirewallPanelController extends AppController
{
/**
* これはファイアウォールパネルのエントリポイントです。
*/
public function entry()
{
// ファイアウォールパネルにアクセスします。
$panel = new \Shieldon\Firewall\Panel();
$panel->csrf([
'_csrfToken' => $this->request->getParam('_csrfToken')
]);
$panel->entry();
exit;
}
}
以上です。
ファイアウォールパネルには/firewall/panel
でアクセスできます。ページを表示するには、このURLをブラウザで開いてください。
https://for.example.com/firewall/panel
デフォルトのログインはshieldon_user
で、パスワードはshieldon_pass
です。ファイアウォールパネルにログインした後、まずログインとパスワードを変更してください。
"Daemon"の設定セクションでShieldonファイアウォールが有効になっている場合、ウェブサイトを監視し始めます。設定を正しく行っていることを確認してください。