CFLib.org – Common Function Library Project

isIPInRange(sIP, sIPREList)

Last updated April 14, 2005
Download UDF

author

Peter Crowley                                     Peter Crowley

Version: 1 | Requires: ColdFusion MX | Library: NetLib

Description:
Returns true if the passed IP address matchs any of the IP addresses or IP address ranges supplied in a Regex list. This code be to useful in blocking or granting people access based on location. I used it to block people running check/cheque scams from certain areas of the website. Must use comma delimited list.

Return Values:
Returns a boolean.

Example:

<CFSET blockedIPrange="^217\.78\.(6[4-9]|7[0-9])\.[0-9]+,^195\.166\.2(2[4-9]|[3-4][0-9]|5[0-5])\.[0-9]+">

<cfif isIPInRange(CGI.REMOTE_ADDR,blockedIPrange)>
This website is not available in your location.
<cfabort>
</cfif>

Parameters:

Name Description Required
sIP The IP. Yes
sIPREList List of IP Regex strings. Yes

Full UDF Source:

<cfscript>
/**
* Is this IP within any of the IP ranges supplied.
*
* @param sIP      The IP. (Required)
* @param sIPREList      List of IP Regex strings. (Required)
* @return Returns a boolean.
* @author Peter Crowley (pcrowley@webzone.ie)
* @version 1, April 14, 2005
*/

function isIPInRange(sIP,sIPREList) {
    var i = 1;
    var nREListCount=ListLen(sIPREList);
    
    for (i = 1; i LTE nREListCount; i = i+1) {
        if (REFind(ListGetAt(sIPREList,i),sIP)) return true;
    }
    return false;
}
</cfscript>

Search CFLib.org


Latest Additions

Raymond Compton Raymond Compton added
structBlend
19 day(s) ago

Duncan Duncan added
IsZIPUK
19 day(s) ago

Todd Sharp Todd Sharp added
getTagContentAll
25 day(s) ago

Gerald Guido Gerald Guido added
ListReturnDuplicat...
1 month(s) ago

Gerald Guido Gerald Guido added
ListReturnDuplicat...
1 month(s) ago

Created by Raymond Camden / Design by Justin Johnson