Block Country

From Tech-Wiki
Jump to: navigation, search

Back to iRules

Block using negative logic

when CLIENT_ACCEPTED {
   # Get the country client IP 
   switch [whereis [IP::client_addr] country] {
       "CN" -
       "RU" {
           set allowed 0
       }
       default { set allowed 1 }
   }
}
when HTTP_REQUEST {
   if {$allowed == 0}{
       HTTP::respond 403 content {Blocked!}
   }
}

Block using positive logic

when CLIENT_ACCEPTED {
   # Get the country client IP 
   switch [whereis [IP::client_addr] country] {
       US -
       CA -
       MX {
           set allowed 1
       }
       default { set allowed 0 }
   }
}
when HTTP_REQUEST {
   if {$allowed == 0}{
       HTTP::respond 403 content {Blocked!}
   }
}