Fuel

FuelPHPはシンプルで柔軟性のある、コミュニティ主導のPHPウェブフレームワークです。

Fuelフレームワークの中のファイアウォール

インストール

PHPのComposerを使用します:

composer require shieldon/shieldon

これにより、Shieldonに必要な依存関係もインストールされます:

  • shieldon/psr-http 完全なドキュメンテーションと包括的なテストを備えた、PSR-7、15、17の実装。
  • shieldon/event-dispatcher 最もシンプルなイベントディスパッチャー。
  • shieldon/web-security ウェブセキュリティに関連する機能のコレクション。
  • shieldon/messenger Telegram、Line、RocketChat、Slack、SendGrid、MailGunなどのサードパーティAPIやサービスにメッセージを送信するためのモジュールのコレクション。

実装

手順

1. コアの初期化前

fuel/app/bootstrap.phpファイルの、以下の行の後に、次のコードを追加してください:

require COREPATH.'bootstrap.php';

例:

/*
|--------------------------------------------------------------------------
| Shieldonファイアウォールを実行
|--------------------------------------------------------------------------
|
| Shieldonファイアウォールは、ウェブサイトに送信されるすべてのHTTPリクエストを監視します。
|
*/
if (isset($_SERVER['REQUEST_URI'])) {

    // このディレクトリは書き込み可能である必要があります。
    // `fuel/app/tmp`ディレクトリに配置します。
    $storage = __DIR__ . '/tmp/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);
    }
}

$storageディレクトリが存在し、書き込み可能であることを確認してください。

2. ファイアウォールパネルのルートを定義

次に、fuel/app/config/routes.phpファイルを編集し、以下のコードを追加してください:

例:

'firewall/panel(:everything)' => function () {
    $panel = new \Shieldon\Firewall\Panel();
    $panel->entry();
},

完全な例は次のようになります:

例:

return array(
    '_root_'  => 'welcome/index',  // デフォルトルート
    '_404_'   => 'welcome/404',    // メインの404ルート

    'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'),

    'firewall/panel(:everything)' => function () {
        $panel = new \Shieldon\Firewall\Panel();
        $panel->entry();
    },
);

以上です。

コントロールパネル

ファイアウォールパネルは、/firewall/panelにアクセスすることができます。ページを表示するには、以下のURLをブラウザで開いてください:

https://yoursite.com/firewall/panel

デフォルトのログインはshieldon_userで、パスワードはshieldon_passです。ファイアウォールパネルにログインした後、まず最初にログインとパスワードを変更する必要があります。

Daemon設定セクションでShieldonファイアウォールが有効になっている場合、ウェブサイトの監視が開始されます。設定を正しく行ったことを確認してください。