Introduction
Someone was trying to whitelist a specific query that was being blocked by 7G firewall on GridPane. Unfortunately, they were using $args versus $request, the following code snippet shows how to bypass specific queries and also print out debug headers for troubleshooting.
Code Snippet
# --------------- # # Notes. # - You can't use $args due to 7g placing it's data here ex (:bad_querystring_30::bad_request_8:) # - Instead you have to use $request as this is where the entire url request is stored # - Reduced code by using different variables for each 7g component. # - Added debug header to print out details to help with regexp and other debugging. # --------------- set $exclude_querystring ""; set $exclude_badrequest ""; set $test_var "testing"; if ( $request ~* ^(.*)wf301_run_tool(.*)$ ) { set $exclude_querystring 30; set $exclude_badrequest 8; } if ( $bad_querystring_7g = $exclude_querystring ) { set $7g_drop_bad_query_string 0; } if ($bad_request_7g = $exclude_badrequest) { set $7g_drop_bad_request 0; } #add_header X-debug-message "args = $args - exclude_querystring = $exclude_querystring - exclude_badrequest = $exclude_badrequest - bad_querystring_7g = $bad_querystring_7g 7g_drop_bad_request = $7g_drop_bad_request" always;