CakePHP 是一個被廣泛使用的開放源碼網頁框架,遵循 MVC 架構模式。它在 PHP 社群中備受推崇,並為建置網路應用程式提供一系列的功能和工具。
本指南已在 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 防火牆,它將開始監控你的網站。請確保你已正確設定設定。