Forum Discussion
Sabir_Alvi
Altocumulus
Jan 18, 2020iRule to block URI with parameters irrespective of URI query letter case
We have a need to block access to a URI path along with certain parameters in the URL. The iRule we have works fine, however if we change the case of the input URI query parameter, the iRule is ignor...
PeteWhite
Employee
Jan 18, 2020when HTTP_REQUEST {
set uri [string tolower [HTTP::uri]]
if { ( $uri contains "/bla/bla.asp") and ([URI::query $uri type]] equals "bla") } {
HTTP::respond 403
}
}
Try this - change the whole URI to lower case and then retrieve the type - your failed because you were changing the response to lower case, not the URI. Yours would also work if you did:
if { ([string tolower [HTTP::uri]] contains "/bla/bla.asp")
and ( [URI::query [string tolower [HTTP::uri]] type] equals "bla") }
That will use less memory ie it is not creating a variable but looks a bit more confusing so you take your pick.
Sabir_Alvi
Altocumulus
Feb 05, 2020I forgot to come back and thank you for this! First one worked like a charm!
- PeteWhiteFeb 06, 2020
Employee
Great, thanks
Recent Discussions
Related Content
- May 24, 2019Former Member
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects