function cloudflare_ip_ranges in CloudFlare 7.2
Get a list of cloudflare IP Ranges
2 calls to cloudflare_ip_ranges()
- cloudflare_boot in ./
cloudflare.module - Implementation of hook_boot().
- cloudflare_ip_address_in_range in ./
cloudflare.module - Given an IP range like 8.8.8.0/24, check to see if an IP address is in it
File
- ./
cloudflare.module, line 182
Code
function cloudflare_ip_ranges() {
if ($cache = cache_get('cloudflare_ip_ranges')) {
return $cache->data;
}
else {
$ip_blocks = file_get_contents(CLOUDFLARE_URL_IPV4_RANGE);
if ($ip_blocks === FALSE) {
watchdog('cloudflare', 'Unable to fetch IP address information from cloudflare. Until resolved, IP address detection is non-functional.', NULL, WATCHDOG_ALERT);
return FALSE;
}
$cloudflare_ips = explode("\n", $ip_blocks);
$cloudflare_ips = array_filter($cloudflare_ips);
$cloudflare_ips = array_map('trim', $cloudflare_ips);
cache_set('cloudflare_ip_ranges', $cloudflare_ips);
return $cloudflare_ips;
}
}