Forum Discussion
mfkk531_168091
Apr 28, 2015Nimbostratus
iRule for 403 redirect?
Hi All, I need help in refining this irule.
when HTTP_REQUEST {
if { ([HTTP::uri] contains "/recommended") or
([HTTP::uri] contains "/activate") or
([HTTP::uri] contains "/activated")or
([HTTP::uri] contains "/userStatus")or
([HTTP::uri] contains "/recByCat")or
([HTTP::uri] contains "/targeted") } {
HTTP::respond 403 content {403 Unauthorized}
}
}
Hello M,
The below is pretty much a template, depending on how you want the value to match within the URI. I've included the link to the switch section of the iRules wiki, a very good resource. The way I'm utilizing the wildcard would make these match URI when they begin with the value.when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/recommended*" - "/activate*" - "/activated*" - "/userstatus*" - "/recbycat*" - "/targeted*" { HTTP::respond 403 content {403 Unauthorized}} } }
- What issues are you having with this iRule? What are you looking to refiine?
- mfkk531_168091Nimbostratus
I'm trying to use switch -glob tolower for it, but cant figure out the syntaxes
Thanks in advance
You can use a switch statement, but it will look a little strange since you are doing the same thing for all cases. It would look something like this:
when HTTP_REQUEST { switch [string tolower [HTTP::uri]] { "/recommended" { HTTP::respond 403 content {403 Unauthorized} "/activate" { HTTP::respond 403 content {403 Unauthorized} "/activated" { HTTP::respond 403 content {403 Unauthorized} "/userStatus" { HTTP::respond 403 content {403 Unauthorized} "/recByCat" { HTTP::respond 403 content {403 Unauthorized} "/targeted" { HTTP::respond 403 content {403 Unauthorized} } }
- DEJ_159363Cirrus
Hello M,
The below is pretty much a template, depending on how you want the value to match within the URI. I've included the link to the switch section of the iRules wiki, a very good resource. The way I'm utilizing the wildcard would make these match URI when they begin with the value.when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/recommended*" - "/activate*" - "/activated*" - "/userstatus*" - "/recbycat*" - "/targeted*" { HTTP::respond 403 content {403 Unauthorized}} } }
- This is a better solution than mine. I was unaware of the ability to put multiple options together like this.
- DEJNimbostratus
Hello M,
The below is pretty much a template, depending on how you want the value to match within the URI. I've included the link to the switch section of the iRules wiki, a very good resource. The way I'm utilizing the wildcard would make these match URI when they begin with the value.when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/recommended*" - "/activate*" - "/activated*" - "/userstatus*" - "/recbycat*" - "/targeted*" { HTTP::respond 403 content {403 Unauthorized}} } }
- This is a better solution than mine. I was unaware of the ability to put multiple options together like this.
- mfkk531_168091Nimbostratus
Thanks sooo much for your help everyone!!!
Recent Discussions
Related Content
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