Forum Discussion
Simon_Blakely
Nov 04, 2020Employee
Break the monolithic if statement down into nested if statements, and add logging so you can see the results of each step
when ASM_REQUEST_DONE {
if { ([HTTP::uri] starts_with "/abc/") } {
log local0. "URI [HTTP::uri] starts with /abc/"
if {([HTTP::path] matches_regex {*.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]})} {
log local0. "PATH [HTTP::path] matches the regex"
if { ([ASM::violation count] >= 1) } {
log local0. "ASM violation count greater than 1 = [ASM::violation count]"
if {[ASM::violation_data] contains "VIOLATION_OBJ_TYPE"} {
log local0. "ASM violation data contains VIOLATION_OBJ_TYPE - unblocking"
ASM::unblock
}
}
}
}
}