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 방화벽이 활성화되어 웹사이트를 모니터링하기 시작합니다. 설정을 올바르게 구성했는지 확인해주세요.