이 패키지는 XSS, SQLi, RFI, LFI, 사용자 에이전트 등과 같은 다양한 유형의 공격으로부터 Laravel 앱을 보호하기 위한 것입니다. 또한 반복적인 공격을 차단하고 공격이 감지되면 이메일 및/또는 Slack을 통해 알림을 보냅니다. 또한 실패한 로그인을 기록하고 여러 번의 시도 후에 IP를 차단합니다.
참고: 일부 미들웨어 클래스(예: Xss)는 확장된 Middleware
추상 클래스가 모든 작업을 동적으로 수행하므로 비어 있습니다. 요컨대, 그들은 모두 작동합니다;)
다음 명령을 실행하십시오.
작곡가는 akaunting/laravel-firewall이 필요합니다.
구성, 언어 및 마이그레이션 게시
php artisan Vendor:publish --tag=방화벽
DB 테이블 생성
PHP 장인 마이그레이션
config/firewall.php
파일에서 앱의 방화벽 설정을 변경할 수 있습니다.
미들웨어는 이미 정의되어 있으므로 경로에 추가하면 됩니다. firewall.all
미들웨어는 구성 파일의 all_middleware
배열에서 사용 가능한 모든 미들웨어를 적용합니다.
Route::group(['middleware' => 'firewall.all'], function () { 경로::get('/', 'HomeController@index'); });
각 경로별로 각 미들웨어를 적용할 수 있습니다. 예를 들어, 화이트리스트에 있는 IP만 관리자에 액세스하도록 허용할 수 있습니다.
Route::group(['middleware' => 'firewall.whitelist'], function () { 경로::get('/admin', 'AdminController@index'); });
또는 whitelist
액세스 관리자가 아닌 사람이 inspections
구성에 추가하면 알림을 받을 수 있습니다.
Route::group(['middleware' => 'firewall.url'], function () { 경로::get('/admin', 'AdminController@index'); });
경로에 적용할 수 있는 사용 가능한 미들웨어:
방화벽.모두 방화벽.에이전트 방화벽.봇 방화벽.geo 방화벽.ip 방화벽.lfi 방화벽.php 방화벽.리퍼러 방화벽.rfi 방화벽.세션 방화벽.sqli 방화벽.맹세 방화벽.url 방화벽.화이트리스트 방화벽.xss
config/firewall.php
에서 각 미들웨어에 대한 routes
정의하고 모든 경로의 맨 위에 해당 미들웨어 또는 firewall.all
적용할 수도 있습니다.
방화벽은 공격이 감지되는 즉시 알림을 보냅니다. 알림을 보내려면 notifications.email.to
구성에 입력된 이메일이 유효한 Laravel 사용자여야 합니다. 자세한 내용은 Laravel의 알림 문서를 확인하세요.
최근 변경된 사항에 대한 자세한 내용은 릴리스를 참조하세요.
풀 요청(Pull Request)은 환영할 만한 일입니다. PSR 코딩 표준을 따라야 합니다.
보안 취약점을 보고하는 방법에 대한 보안 정책을 검토하세요.
데니스 둘리치
모든 기여자
MIT 라이센스(MIT). 자세한 내용은 라이센스를 참조하세요.