File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -142,6 +142,9 @@ public function launch($mustExit = true)
142142 return true ;
143143 }
144144
145+ // Determine if the current request is whitelisted or not (role based).
146+ $ isWhitelisted = $ this ->extension ->canBypass ();
147+
145148 // Merge the rules together. First iterate through the whitelist rules.
146149 $ rules = array_merge ($ this ->whitelistRules , $ this ->firewallRules );
147150 foreach ($ rules as $ rule ) {
@@ -150,6 +153,11 @@ public function launch($mustExit = true)
150153 continue ;
151154 }
152155
156+ // If this rule should respect the whitelist, we check this before we continue.
157+ if (isset ($ rule ['bypass_whitelist ' ]) && ($ rule ['bypass_whitelist ' ] === 0 || $ rule ['bypass_whitelist ' ] === false ) && $ isWhitelisted ) {
158+ continue ;
159+ }
160+
153161 // Transform rule object to array, then execute the firewall rule.
154162 $ rule_hit = $ this ->executeFirewall ($ rule ['rules ' ]);
155163
You can’t perform that action at this time.
0 commit comments