function cloudflare_init() { global $cf_api_host, $cf_api_port, $is_cf; $cf_api_host = "ssl://www.cloudflare.com"; $cf_api_port = 443; $cf_ip_ranges = array("204.93.240.0/24", "204.93.177.0/24", "199.27.128.0/21", "173.245.48.0/20", "103.22.200.0/22", "141.101.64.0/18"); $is_cf = ($_SERVER["HTTP_CF_CONNECTING_IP"])? TRUE: FALSE; // Update the REMOTE_ADDR value if the current REMOTE_ADDR value is in the specified range. foreach ($cf_ip_ranges as $range) { if (ip_in_range($_SERVER["REMOTE_ADDR"], $range)) { if ($_SERVER["HTTP_CF_CONNECTING_IP"]) { $_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } break; } } // Let people know that the CF WP plugin is turned on. if (!headers_sent()) { header("X-CF-Powered-By: WP " . CLOUDFLARE_VERSION); } add_action('admin_menu', 'cloudflare_config_page'); cloudflare_admin_warnings(); }
function cloudflare_init() { global $cf_api_host, $cf_api_port, $is_cf; $cf_api_host = "ssl://www.cloudflare.com"; $cf_api_port = 443; $is_cf = $_SERVER["HTTP_CF_CONNECTING_IP"] ? TRUE : FALSE; if (strpos($_SERVER["REMOTE_ADDR"], ":") === FALSE) { $cf_ip_ranges = array("204.93.240.0/24", "204.93.177.0/24", "199.27.128.0/21", "173.245.48.0/20", "103.22.200.0/22", "141.101.64.0/18", "108.162.192.0/18", "190.93.240.1/20"); // IPV4: Update the REMOTE_ADDR value if the current REMOTE_ADDR value is in the specified range. foreach ($cf_ip_ranges as $range) { if (ipv4_in_range($_SERVER["REMOTE_ADDR"], $range)) { if ($_SERVER["HTTP_CF_CONNECTING_IP"]) { $_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } break; } } } else { $cf_ip_ranges = array("2400:cb00::/32", "2606:4700::/32", "2803:f800::/32"); $ipv6 = get_ipv6_full($_SERVER["REMOTE_ADDR"]); foreach ($cf_ip_ranges as $range) { if (ipv6_in_range($ipv6, $range)) { if ($_SERVER["HTTP_CF_CONNECTING_IP"]) { $_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } break; } } } // Let people know that the CF WP plugin is turned on. if (!headers_sent()) { header("X-CF-Powered-By: WP " . CLOUDFLARE_VERSION); } add_action('admin_menu', 'cloudflare_config_page'); cloudflare_admin_warnings(); }