Forum Discussion
Sanal_Babu
Altostratus
Jan 14, 2016Irule to allow/block URL
Can anyone please help to create an irule for below requirement.
We would like to deny the access if the request for www.abc.com/xyx but allow for www.abc.com/xyx/ccc.
URL to be allowed ...
Kai_Wilke
MVP
Jan 14, 2016Hi Sanalbabu,
I asume that this allow/blocking functionality would be needed for a virtual server serving a specific websites, right? If so, then use the snippet below as a starting point...
when CLIENT_ACCEPTED {
if { ( [IP::addr [IP::client_addr] equals 10.0.0.0/8] ) or
( [IP::addr [IP::client_addr] equals 172.16.0.0/12] ) or
( [IP::addr [IP::client_addr] equals 192.168.0.0/16] ) } then {
set my_trusted_clients 1
} else {
set my_trusted_clients 0
}
}
when HTTP_REQUEST {
if { [string tolower [HTTP::host]] equals "www.abc.com" } then {
set low_uri [string tolower [HTTP::uri]]
if { ( $my_trusted_clients ) and
(( $low_uri starts_with "/xyz/ccc" ) or
( $low_uri starts_with "/xyz/yyy" ) or
( $low_uri starts_with "/xyz/ppp" ) or
( $low_uri starts_with "/xyz/ooo" )) } then {
You may insert additional iRule code here, to handle request to the explicitly allowed sub-sites
} elseif { $low_uri starts_with "/xyz" } then {
Insert your block code here, to handle the blocked requests
Below are some examples...
1.) Sending a redirect
HTTP::redirect "http://www.somesite.com/errorpage.html"
2.) Sending a errorpage
HTTP::respond 403 content "Access denied"
} else {
You may insert additional iRule code here, to handle request to other sub-sites
}
} else {
You may insert additional iRule code here, to handle request to other sites
}
}Cheers, Kai
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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