Fat-Free

他のフレームワークとは異なり、Fat-Freeは非常に軽量なPHPフレームワークです。

Fat-Freeフレームワークのファイアウォール

インストール

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やサービスにメッセージを送信するためのモジュールのコレクション。

実装

次のようなコードを想定しています:

<?php

require dirname(__DIR__) . '/vendor/autoload.php';

$f3 = \Base::instance();
$f3->route('GET /',
    function() {
        echo 'こんにちは、世界!';
    }
);
$f3->run();

手順

1. Shieldonファイアウォールの初期化

次の行の後に:

require dirname(__DIR__) . '/vendor/autoload.php';

次のコードを追加してください:

例:

// CLI環境での実行時にエラーが発生しないようにする。
if (isset($_SERVER['REQUEST_URI'])) {

    // このディレクトリは書き込み可能でなければなりません。
    $storage = dirname($_SERVER['SCRIPT_FILENAME']) . '/../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);
    }
}

注意:

親ディレクトリにshieldon_firewallという名前の書き込み可能なディレクトリを作成してください。Shieldonファイアウォールはこのディレクトリにデータを保存します。

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

例:

$f3->route('GET|POST /firewall/panel*', function() {
    $panel = new \Shieldon\Firewall\Panel();
    $panel->entry();
});

以上です!

以下のURLを使用してファイアウォールパネルにアクセスできます:

https://yoursite.com/firewall/panel

デフォルトのログインは shieldon_user、パスワードは shieldon_pass です。ファイアウォールパネルにログインした後、最初に行うべきことはログインとパスワードの変更です。

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