File tree Expand file tree Collapse file tree 2 files changed +27
-4
lines changed
Expand file tree Collapse file tree 2 files changed +27
-4
lines changed Original file line number Diff line number Diff line change 3030 'backdoor ' => env ('MOOX_FIREWALL_BACKDOOR ' , true ),
3131
3232 // Backdoor bypass token
33- 'backdoor_token ' => env ('MOOX_FIREWALL_BACKDOOR_TOKEN ' , 'v4a ' ),
33+ 'backdoor_token ' => env ('MOOX_FIREWALL_BACKDOOR_TOKEN ' , 'let-me-in ' ),
34+
35+ // Backdoor limited to URL
36+ 'backdoor_url ' => env ('MOOX_FIREWALL_BACKDOOR_URL ' , '/backdoor ' ),
3437
3538 // Firewall page message
3639 'message ' => env ('MOOX_FIREWALL_MESSAGE ' , 'Moox Firewall ' ),
3740
3841 // Firewall page description
3942 'description ' => env ('MOOX_FIREWALL_DESCRIPTION ' , 'Please enter your access token to continue. ' ),
4043
44+ // Firewall denied message
45+ 'denied_message ' => env ('MOOX_FIREWALL_DENIED_MESSAGE ' , 'Access denied. Please contact the IT department. ' ),
46+
4147 // Firewall page color, currently hex, will be Tailwind color in the future
4248 'color ' => env ('MOOX_FIREWALL_COLOR ' , 'darkblue ' ),
4349
Original file line number Diff line number Diff line change @@ -38,15 +38,32 @@ public function handle(RouteMatched $event)
3838 return ;
3939 }
4040
41- $ token = $ config ['backdoor_token ' ] ?? '' ;
41+ if (! config ('firewall.backdoor ' )) {
42+ echo View::make ('firewall::access-denied ' )->render ();
43+ exit ;
44+ }
45+
46+ $ backdoorUrl = $ config ['backdoor_url ' ] ?? null ;
47+ $ isBackdoorUrl = $ backdoorUrl ? ($ request ->is ($ backdoorUrl ) || $ request ->path () === ltrim ($ backdoorUrl , '/ ' )) : false ;
48+
49+ if ($ backdoorUrl && ! $ isBackdoorUrl ) {
50+ echo View::make ('firewall::access-denied ' )->render ();
51+ exit ;
52+ }
53+
54+ $ token = $ config ['backdoor_token ' ] ?? 'let-me-in ' ;
4255 $ requestToken = $ request ->get ('backdoor_token ' ) ?? $ request ->header ('X-Backdoor-Token ' );
4356
4457 if ($ token && $ requestToken === $ token ) {
4558 if ($ request ->hasSession ()) {
4659 $ request ->session ()->put ('firewall_authenticated ' , true );
4760 }
4861
49- return redirect ($ request ->url ());
62+ if ($ isBackdoorUrl ) {
63+ return redirect ('/ ' );
64+ } else {
65+ return redirect ($ request ->url ());
66+ }
5067 }
5168
5269 $ errorMessage = null ;
@@ -58,7 +75,7 @@ public function handle(RouteMatched $event)
5875 }
5976 }
6077
61- echo View::make ('firewall::firewall ' , [
78+ echo View::make ('firewall::backdoor ' , [
6279 'firewall_error ' => $ errorMessage ,
6380 ])->render ();
6481 exit ;
You can’t perform that action at this time.
0 commit comments