Fat-Free

與其他框架不同,Fat-Free 是一個非常輕量的 PHP 框架。

FatFree 框架中的防火牆

安裝

使用 PHP Composer:

composer require shieldon/shieldon

這也會安裝 Shieldon 所需的相依套件:

實作

假設你的程式碼看起來像這樣:

<?php

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

$f3 = \Base::instance();
$f3->route('GET /',
    function() {
        echo 'Hello, world!';
    }
);
$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。登入防火牆面板後,你應該首先更改登入帳號名稱和密碼。

如果在「Daemon」設定部分啟用了 Shieldon 防火牆,它將開始監控你的網站。請確保已正確設定所需的設定。