// Mixed IPv4 and IPv6 define("USER_IP_TYPE", 5); $last_pos = strrpos(FUSION_IP, ":"); $ipv4 = substr(FUSION_IP, $last_pos + 1); $ipv6 = substr(FUSION_IP, 0, $last_pos); $ipv6 = uncompressIPv6($ipv6, 5); define("USER_IP", $ipv6 . ":" . $ipv4); $check_value = "(blacklist_ip_type='4' AND blacklist_ip REGEXP '^"; $check_value .= str_replace(".", ".(", $ipv4, $i); $check_value .= str_repeat(")?", $i); $check_value .= "\$') OR (blacklist_ip_type='6' AND blacklist_ip REGEXP '^"; $check_value .= str_replace(":", ":(", $ipv6, $i); $check_value .= str_repeat(")?", $i); $check_value .= "\$') OR (blacklist_ip_type='5' AND blacklist_ip='" . USER_IP . "')"; unset($ipv4, $ipv6, $last_pos); } } else { // IPv6 define("USER_IP_TYPE", 6); define("USER_IP", uncompressIPv6(FUSION_IP, 7)); $check_value = "blacklist_ip_type='6' AND blacklist_ip REGEXP '^"; $check_value .= str_replace(":", ":(", USER_IP, $i); $check_value .= str_repeat(")?", $i); $check_value .= "\$'"; } /* if (dbcount("(blacklist_id)", DB_BLACKLIST, $check_value)) { redirect("http://www.google.com/"); } */ unset($check_value);
$check_value .= "\$'"; } else { // Mixed IPv4 and IPv6 define("USER_IP_TYPE", 5); $last_pos = strrpos(FUSION_IP, ":"); $ipv4 = substr(FUSION_IP, $last_pos + 1); $ipv6 = substr(FUSION_IP, 0, $last_pos); $ipv6 = uncompressIPv6($ipv6, 5); define("USER_IP", $ipv6 . ":" . $ipv4); $check_value = "(blacklist_ip_type='4' AND blacklist_ip REGEXP '^"; $check_value .= str_replace(".", "(\\.", $ipv4, $i); $check_value .= str_repeat(")?", $i); $check_value .= "\$') OR (blacklist_ip_type='6' AND blacklist_ip REGEXP '^"; $check_value .= str_replace(":", "(:", $ipv6, $i); $check_value .= str_repeat(")?", $i); $check_value .= "\$') OR (blacklist_ip_type='5' AND blacklist_ip='" . USER_IP . "')"; unset($ipv4, $ipv6, $last_pos); } } else { // IPv6 !defined('USER_IP_TYPE') ? define("USER_IP_TYPE", 6) : ''; !defined('USER_IP') ? define("USER_IP", uncompressIPv6(FUSION_IP, 7)) : ''; $check_value = "blacklist_ip_type='6' AND blacklist_ip REGEXP '^"; $check_value .= str_replace(":", "(:", USER_IP, $i); $check_value .= str_repeat(")?", $i); $check_value .= "\$'"; } if (dbcount("(blacklist_id)", DB_BLACKLIST, $check_value)) { redirect("http://www.google.com/"); } unset($check_value);